यदि एसएसएनएन फ़ोल्डर क्षतिग्रस्त हो गया है तो मैं svn नियंत्रण को कैसे पुनर्स्थापित कर सकता हूं?

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

मैं बस चेकआउट को फिर से हटा दूंगा और पूरी निर्देशिका एक गग पर खत्म हो जाएगी।

क्या कोई ऐसा उपकरण है जो विशिष्ट फ़ोल्डर्स के लिए सब कुछ डाउनलोड किए बिना। एसवीएन फ़ोल्डरों को पुनर्स्थापित करेगा?

मैं समझता हूं कि इसे उस फ़ोल्डर में सभी फाइलें डाउनलोड करने जा रही हैं ताकि यह निर्धारित किया जा सके कि वे बदल गए हैं .. लेकिन मान्य .svn फ़ोल्डर्स के साथ उपनिर्देशिका ठीक होनी चाहिए।

ओह .. मैं TortoiseSVN या लिनक्स के लिए कमांड लाइन का एक बड़ा प्रशंसक हूँ।

विचार?

0

7 उत्तर

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

0
जोड़ा
यदि आपके पास विचलन है <1.5 मुझे लगता है कि यह एकमात्र विकल्प हो सकता है।
जोड़ा लेखक nedned, स्रोत

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

सुनिश्चित नहीं है कि यह आपकी समस्या है, लेकिन मेरा भ्रष्टाचार एसवीएन सर्वर के समान मशीन पर ऑन-एक्सेस वायरस स्कैनर के कारण हुआ था।

0
जोड़ा
मैंने बस कछुए के साथ ऐसा किया। अपने फ़ोल्डर के पथ से मेल खाने के लिए रिपॉजिटरी यूआरएल को अपडेट करना सुनिश्चित करें, क्योंकि आप संभवतः ऐसा करने में रूट नहीं होने जा रहे हैं।
जोड़ा लेखक Alex, स्रोत

यदि आपके पास फ़ाइलों में परिवर्तन हैं, और उन्हें हटा नहीं सकते हैं, तो आप सबवर्सन 1.5 सुविधा का उपयोग कर सकते हैं जो आपको 'बाधाओं के साथ चेकआउट' करने की अनुमति देता है।

बस इस निर्देशिका में .svn निर्देशिका हटाएं और:
(--depth फ़ाइलों का उपयोग करते समय आपको निर्देशिकाओं को हटाने की आवश्यकता नहीं है, धन्यवाद एरिक)

यदि टूटी हुई निर्देशिका कार्यशील प्रति की शीर्ष निर्देशिका थी:

svn checkout --depth files --force REPOS WC

और यदि टूटे हुए ऊपर की निर्देशिका अभी भी संस्करणबद्ध है:

svn update --depth files --force WC

उस निर्देशिका में।
दोनों नमूने में REPOS रिपॉजिटरी में यूआरएल है जो टूटी हुई निर्देशिका से मेल खाता है, और डब्ल्यूसी निर्देशिका का मार्ग है।

मूल रूप से संशोधित की गई फ़ाइलें इसके बाद संशोधित स्थिति में होंगी।

0
जोड़ा
मैं चेकआउट कमांड में "--depth फ़ाइलें" siwtch जोड़कर उपनिर्देशिका में .svn फ़ोल्डर को हटाने से बचने में सक्षम था। क्या आप इसे प्रतिबिंबित करने के लिए पोस्ट संपादित कर सकते हैं और शायद आरईपीओएस और डब्ल्यूसी पाठ को स्पष्ट कर सकते हैं। धन्यवाद!
जोड़ा लेखक Eric Goodwin, स्रोत
thx, बहुत मदद की!
जोड़ा लेखक Martin, स्रोत

यदि उपनिर्देशिकाएं और ठीक है और यह उपनिर्देशिकाएं बड़ी हैं, तो आप एक गैर-पुनरावर्ती ताज़ा चेकआउट का प्रयास कर सकते हैं।

0
जोड़ा

उस फ़ोल्डर का बैकअप लें जिसमें अनुपलब्ध .svn है

फिर फ़ोल्डर को हटा दें

यदि यह चेकआउट की जड़ है, तो आपको फिर से चेकआउट करना होगा

यदि यह रूट नहीं है, तो बस ऊपर दी गई निर्देशिका से एक अद्यतन चलाएं।

फिर बैकअप फ़ोल्डर को इसके ऊपर ले जाएं। (आदर्श रूप से .svn फ़ोल्डरों को वापस नहीं ले जाएं)

काम करना जारी रखें और अपडेट/प्रतिबद्ध होना सुनिश्चित करें!

0
जोड़ा

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

मैंने मूल रूप से जो किया था उसे हटा दिया और चेकआउट को फिर से शुरू किया। यह समय लेने वाला है, लेकिन मैं वास्तव में यह सुनिश्चित करना चाहता हूं कि मैं फिर से काम करना शुरू कर सकूं। धन्यवाद!

0
जोड़ा

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

0
जोड़ा