2009-11-30 17 views
14

अद्यतन के दौरान नई निर्देशिका को याद करता है मैं एसवीएन 1.6.3 और टोर्टोइज एसवीएन 1.6.6 का उपयोग कर रहा हूं। समय-समय पर जब मैं अपनी परियोजना की जड़ से अद्यतन करता हूं, तो एसवीएन एक नई जोड़ा निर्देशिका (एक सहकर्मी द्वारा जोड़ा गया) लेने में विफल रहता है। मैंने सत्यापित किया है कि संशोधन संख्या सही है और उस संशोधन के लिए लॉग में नई निर्देशिका (और इसकी फ़ाइलें) भी देख सकती है। ऐसा लगता है कि यह सभी कंप्यूटरों को प्रभावित नहीं करता है (किसी अन्य पर ठीक काम करता है) और कई अपडेट इसे सही नहीं करेंगे। लेकिन, अगर मैं उपर्युक्त निर्देशिका को हटाता हूं जहां यह नई निर्देशिका होना चाहिए और एक और एसवीएन अपडेट करना है ... समस्या हल हो गई है।सबवर्सन

मेरा पहला विचार यह है कि यह या तो एक मुद्दा है जिसे बाद में एसवीएन रिलीज (1.6.6, आदि) या मेरे टोर्टोइज एसवीएन क्लाइंट संस्करण के साथ एक समस्या के साथ हल किया गया है। क्या इनमें से कोई भी पुष्टि/अस्वीकार कर सकता है? क्या मौजूदा भंडार के साथ एक नए एसवीएन संस्करण में अपग्रेड करना आसान है?

धन्यवाद ...

उत्तर

18

यह आप की तरह लगता है एक sparse काम कर प्रति है। svn update --set-depth infinity आज़माएं और देखें कि क्या यह करता है।

टोर्टोइज़ में समतुल्य अद्यतन संवाद को खींचते समय "गहराई से रिकर्सिव" पर अपडेट गहराई सेट कर रहा है।

+0

प्रारंभिक 1.6.x रिलीज़ में एक बग ने स्थानीय रूप से जोड़े गए निर्देशिकाओं को स्पैस के रूप में जोड़ा। यह आदेश उस हल करेगा। हालिया 1.6.x क्लाइंट्स में यह समस्या नहीं है –

+0

मुझे उबंटू पर svn के साथ यह समस्या थी और इस उत्तर में कमांड लाइन ने इसे हल किया। +1 –

+0

मुझे नियमित रूप से यह समस्या है लेकिन कभी भी काम करने वाली प्रतियां नहीं करते हैं। – whitey04

1

एसवीएन पिछले समय हमेशा भंडारों के संबंध में संगत रहा है, इसलिए आपको इसके बारे में चिंता करने की आवश्यकता नहीं है। खासकर जब से नवीनतम संस्करण केवल 1.6.6 है इसलिए आप बहुत पीछे नहीं हैं।

क्या आप पुष्टि कर सकते हैं कि आप जिन निर्देशिकाओं की अपेक्षा कर रहे हैं वे वास्तव में भंडार में हैं?

svn ls <repository-url> 
निर्देशिका आपके द्वारा जोड़े या कछुआ के भंडार ब्राउज़र का उपयोग वे वहाँ हो जांच करने के लिए किया जाना है उम्मीद कर रहे हैं की मूल निर्देशिका पर

2

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

5

शायद this मदद कर सकता है?

जब मैं एक कार्यशील प्रति अद्यतन करता हूं, तो नई फ़ाइलें शामिल नहीं होती हैं!

TortoiseSVN 1.6.0 और 1.6.1, के बीच जोड़े गए फ़ोल्डर्स को "केवल यह आइटम" की गहराई के साथ जोड़ा गया था। इससे को आपकी कार्य प्रतिलिपि के उस भाग के "स्पैर चेकआउट" कहा जाता है।

भविष्य में में ऐसी समस्याओं से बचने के लिए कृपया TortoiseSVN के नवीनतम संस्करण में अपडेट करें।

अपने विरल काम कर प्रतिलिपि ठीक करने के लिए, के बजाय "अपडेट", का उपयोग करें "अद्यतन संशोधन के ..." TortoiseSVN सबमेनू से आदेश ( एक्सप्लोरर में राइट क्लिक करें), "अद्यतन गहराई" में बदल दें "पूरी तरह से रिकर्सिव" के लिए combobox।

5

हम ऐसी परिस्थिति देख रहे हैं जहां पिछला विलय वृक्ष संघर्ष का कारण बनता है और फिर विशेष निर्देशिका अद्यतन नहीं होती है लेकिन अद्यतन पर या तो त्रुटि संदेश नहीं फेंकती है। वास्तव में, ऐसा होने पर, हमें स्थिति का पता लगाने का कोई प्रोग्रामेटिक तरीका नहीं दिख रहा है। संशोधन के लिए जांच करते समय पेड़ संघर्ष दिखाई नहीं देता है और एकमात्र तरीका जिसे हम जानते थे कि हमें समस्याएं मैन्युअल रूप से रिपो-ब्राउज़र और लॉग में तुलना करके समस्या थीं। केवल कटौती से हमने यह पता लगाया कि पेड़ के संघर्ष के साथ इसका कुछ संबंध था।

हमें मूल निर्देशिका और पुन: चेकआउट को हटाना पड़ा। और जब ऐसा होता है तो हमें पता लगाने का कोई प्रोग्रामेटिक तरीका नहीं मिला है। यह कम है लेकिन खुद को कुछ हद तक पुन: उत्पन्न किया है।

बहुत स्पष्ट जानकारी, मुझे पता है।