2011-03-17 8 views
9

मेरे पास एक ऐसा एप्लिकेशन है जो एक निर्देशिका पेड़ में अपना डेटा रखता है।कार्यशील प्रतियों में अवरुद्ध निर्देशिकाओं की मरम्मत कैसे करें

अब, मैं इस निर्देशिका को संस्करण नियंत्रण के तहत svn के साथ रखना चाहता हूं।

समस्या यह है कि, समय-समय पर यह एप्लिकेशन इस पेड़ में कुछ निर्देशिकाओं को हटा देता है और पुन: प्रयास करता है, जो उचित एसएसएन उपनिर्देशिका खो जाने के लिए प्रेरित करता है, और टोर्टोइज एसवीएन तब बाधित निर्देशिकाओं के बारे में जोर से शिकायत करता है।

क्या कोई विशेष विकल्प, स्क्रिप्ट (साइगविन बैच, विंडोज सेमीडी, पायथन ...) या प्रोग्राम है जो उन कामकाजी प्रतियों की मरम्मत कर सकता है? वर्तमान में, मैं दूसरी कामकाजी प्रतिलिपि से खोए गए .svn फ़ाइलों को दोबारा जोड़ने के लिए एक निर्देशिका सिंक्रनाइज़ेशन टूल का उपयोग कर रहा हूं, लेकिन यह बहुत बोझिल है।

धन्यवाद!

+0

एसवीएन इस तरह निर्देशिका परिवर्तनों के प्रबंधन में बहुत सीमित है। यदि यह आपके प्रोजेक्ट के लिए एक विकल्प है, तो मैं दृढ़ता से गिट को देखने का सुझाव देता हूं। – payne

+1

@payne: क्षमा करें, वर्तमान में git एक विकल्प नहीं है। मैंने यह भी पढ़ा है कि एसवीएन डेवलपर्स कामकाजी प्रतिलिपि रूट में अपनी कार्यशील प्रति प्रारूप को वैश्विक निर्देशिका में बदलने की योजना बना रहे हैं। लेकिन इस बीच, एक स्क्रिप्ट या कुछ जो बस .svn उपनिर्देशिका को पुन: प्रयास करता है ठीक होगा। – MarkusSchaber

उत्तर

4

क्षमा करें, लेकिन आप जो खो गए हैं उसकी मरम्मत नहीं कर सकते हैं।

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

+0

लेकिन सभी जानकारी एसवीएन भंडार में है, इसे पतली हवा से बाहर बनाने की आवश्यकता नहीं है। एक ताजा चेकआउट और उसके बाद ताजा चेकआउट से प्रत्येक उपनिर्देशिका से सभी .svn निर्देशिकाओं को मैन्युअल रूप से कॉपी करना मेरी कार्यशील प्रतिलिपि में समस्या हल करता है (लेकिन बोझिल है)। एप्लिकेशन निर्देशिकाओं को किसी भी तरह से पुन: स्थापित नहीं करता है, यह केवल कुछ उपनिर्देशिका को हटा देता है और उन्हें समान रूप से पुन: प्रयास करता है (कुछ संशोधित डेटा फ़ाइलों को घटाएं)। – MarkusSchaber

+0

मैं उस उत्तर को स्वीकार करूंगा, हालांकि यह मेरी समस्या का समाधान नहीं करता है। इस बीच, समस्या को उस एप्लिकेशन के अद्यतन द्वारा हल किया गया था जो अब निर्देशिका को हटा नहीं देता है, और एसवीएन 1.7 प्रत्येक निर्देशिका में .svn subdirs की आवश्यकता नहीं होने पर समस्या हल कर लेगा। – MarkusSchaber

+1

उत्तर पूरी तरह से बिंदु को याद करता है। मेरे पास एक समान एप्लीकेशन (मेन्डेली डेस्कटॉप) है और यह निर्देशिका को हटा देता है और पुन: प्रयास करता है। मैं उन्हें पुनर्स्थापित नहीं करना चाहता हूं, बस एसवीएन को उन्हें जोड़ दें जैसे कि वे पहले से ही संस्करण नियंत्रण में नहीं थे, उनमें से एक नया .svn उपनिर्देशिका बनाते हुए और (जब प्रतिबद्ध) पिछले संस्करण में जो कुछ भी था उसे ओवरराइट कर रहा था। –

14

मैंने विरोधाभासी फ़ोल्डर का नाम बदल दिया और एसवीएन से फ़ोल्डर को पुनर्स्थापित करने के लिए एक एसवीएन अपडेट चलाया।

मेरे पसंदीदा diff टूल (कुल कमांडर में निर्देशिका सिंक्रनाइज़ करें) के साथ भिन्न होने के बाद, मुझे लगता है कि केवल अंतर यह था कि विरोधाभासी फ़ोल्डर में एक .svn फ़ोल्डर था।

+3

धन्यवाद! बाहर निकलता है मेरे पास उप-निर्देशिका में एक svn फ़ोल्डर था, और इसे वहां होने की आवश्यकता नहीं थी।मैंने इसे हटा दिया, फिर मैं चाहता था कि मूल फ़ोल्डर पर एक svn अद्यतन चलाया, और यह उपनिर्देशिका में फ़ाइलों का संस्करण। – AndyClaw

+0

मेरे लिए काम करता है thnx –

+0

एंडीक्लो की टिप्पणी मेरे लिए काम करती है, धन्यवाद! –

-1

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

0

बाधित निर्देशिकाओं का एक कारण जबकि एसवीएन प्रतिबद्धता तब हो सकती है जब विजुअल स्टूडियो की तरह आईडीई आउटपुट निर्देशिका को हटा देता है और आउटपुट निर्देशिकाओं को पुन: प्रयास करता है जिससे एसएसएन फ़ोल्डर्स को हटा दिया जाता है। तो कहीं और इस वीएस परियोजना का निर्माण करें और फिर .svn फ़ोल्डरों को संरक्षित करने के लिए मूल चेक आउट स्थान पर ओवरराइट करें। फिर एसवीएन एड और एसवीएन प्रतिबद्ध करें।