2011-12-20 12 views
5

क्या TortoiseSVN के साथ बाहरी को बाहर करने के लिए एक कार्यशील प्रति अद्यतन करने का कोई तरीका है?एसवीएन: TortoiseSVN के साथ बाहरी बहिष्कृत करने के लिए कार्यशील प्रति अद्यतन करें?

मेरे पास एक कार्यशील प्रति है जिसे मैंने बाहरी के साथ चेक आउट किया है। मैं पथ शामिल करने के लिए कुछ अपडेट कर रहा हूं और अब इन बाहरी फ़ाइलों को एक अलग परियोजना में है। मैं बाहरी कार्य को बाहर करने के लिए अपनी वर्तमान कार्यशील प्रतिलिपि को अद्यतन करना चाहता हूं - अनिवार्य रूप से बाहरी रूप से मेरी स्थानीय प्रतिलिपि को हटा देना।

मेरी कार्यशील प्रतिलिपि में बदलावों के पहाड़ के कारण, बाहरी निकालने, बस हटाने और पुनः जांचने, एक कुशल विकल्प नहीं है।

मैं 1.7.x प्रारूप का उपयोग कर टोर्टोइस एसवीएन 1.7.2 का उपयोग कर रहा हूं।

संपादित करें: ठीक है, ऐसा लगता है कि मैं जो खोज रहा हूं वह संभव नहीं है। लगता है कि 'एसवीएन अपडेट' हमेशा बाह्य के साथ अपडेट होगा, भले ही भंडार 'ओमिट एक्सट्रानल्स' (--ignore-externals) के साथ चेक आउट हो।

संपादित 2: ठीक है, एक समाधान मिला। प्रत्येक भंडार द्वारा इसे टैग करने का एक तरीका प्रतीत नहीं होता है। लेकिन वैश्विक स्तर पर: 'TortoiseSVN' => 'सेटिंग्स' => 'उन्नत' सेट 'गलत' को गलत में शामिल करें। यह 'एसवीएन अपडेट' को बाहरी अद्यतन करने से रोक देगा। ऐसा लगता है कि बाहरी अपडेट को मजबूर करना है, मुझे 'संशोधन में अपडेट करें ...' पर जाना होगा, यह करने योग्य है, क्योंकि यह कम संभावना है। (मैं 5 की जांच बहिष्कार किया है, और केवल 1 बाहरी आवश्यकता है, और केवल जब प्रोप है अद्यतन। 2 उन्हें जांच पर केवल एक बार की जरूरत है)

उत्तर

6

svn up --ignore-externals काम करना चाहिए, तो आप मैन्युअल तो बाहरी फ़ोल्डर हटा सकते हैं

+0

... एनएम। ऐसा लगता है कि यह संभव नहीं है। बस एक परीक्षण किया। मैं बाहरी भंडार को अनदेखा करने के लिए अपने भंडार को टैग करने की कोशिश कर रहा हूं, इसलिए जब मैं अद्यतन करता हूं तो यह बाहरी अपडेट नहीं करेगा। बाहर निकलता है: svn co -ignore-externals उस * एक * उदाहरण के लिए बाहरी को अनदेखा कर देगा। जैसे ही मैं एक अद्यतन करता हूं ... यह बाहरी अपडेट करता है .. मैंने सोचा कि यह बाद के सभी अपडेट के लिए बाहरी को अनदेखा कर देगा। – guice

+2

नहीं, आपको हर बार इसे जोड़ना होगा। कॉन्फ़िगरेशन या अन्य जगहों पर सेट करने का कोई ऐसा विकल्प नहीं है। यूनिक्स जैसी प्रणालियों पर मैं सुझाव देता हूं कि उस विकल्प सहित उपनाम बनाने या एक बैश प्रक्रिया के साथ svn कमांड को ओवरराइट करने का सुझाव दिया गया है जो डिफ़ॉल्ट रूप से विकल्प सेट करता है। विंडोज़ पर आपको एक बैश स्क्रिप्ट बनाना होगा जो पैरामीटर को एक svn कमांड में पास करता है जिसमें --ignore-externals शामिल हैं। इस तरह आप बस उस बैशफ़ाइल को डबलक्लिक करके अपडेट कर सकते हैं। – zuloo

+0

बाहर निकलता है TortiseSVN के पास इस ध्वज को हर समय सेट करने के लिए उन्नत विकल्पों में एक विकल्प होता है। ऊपर मेरा संपादन देखें। – guice

2

टोर्टोइज एसवीएन में, आप "संशोधन में अपडेट करें ..." चुनकर और "बाहरी बहिष्कार" चेकबॉक्स को चुनकर बाहरी का उपयोग किए बिना अपडेट कर सकते हैं।

+0

नहीं, काम नहीं किया।'संशोधित करने के लिए अद्यतन' चुना गया था 'हेड' चुना गया, 'बाहरी निकालें' चुना गया। बाहरी के बिना, सफलतापूर्वक अद्यतन। तब मैंने 'एसवीएन अपडेट' किया और इसे बाहरी के साथ अद्यतन किया .... – guice

0

मुझे एहसास है कि यह बेहद देर से प्रतिक्रिया है और शायद ओबीई है, हालांकि, अगर मैं इसे सही तरीके से समझ रहा हूं तो आपके मुद्दे का समाधान सिर्फ अपनी बाहरी सूची को अपडेट करना था।

अनिवार्य रूप से, आपके पास बाहरी परियोजनाओं का एक गुच्छा था जो एक अलग परियोजना में स्थानांतरित हो गए थे और आप अपनी कार्यशील प्रति पर को अपडेट करना चाहते थे?

आपको बस अपनी जांच की गई निर्देशिका (या फ़ोल्डर के अंदर होने पर विंडोज एक्सप्लोरर में सफेद जगह में कहीं भी) पर राइट क्लिक करना है, टोर्टोइज एसवीएन> गुणों पर जाएं। उस संपत्ति को संपादित करें जिसमें आपके बाहरी शामिल हैं और आपको जो भी निर्देशिका चाहिए उसे हटाएं/जोड़ें। फिर अपनी निर्देशिका में एक अद्यतन करें। इसमें अब निर्देशिका शामिल नहीं होगी।