तोड़फोड़ में फ़ोल्डर्स को बाधित किया


131

जब आप तोड़फोड़ की जाँच करने की कोशिश करते हैं, तो हेक "बाधित" का क्या मतलब है? मैं "बाधित" की पाठ स्थिति के साथ लाल रंग में दो फ़ोल्डर देखता हूं। मैं यह नहीं देखता कि डॉक्स में कहीं भी इसका क्या मतलब है।

जब मैं cleanupकमांड का प्रयास करता हूं, तो मुझे "फ़ोल्डर का नाम एक कार्यशील निर्देशिका नहीं है।" यह एक फ़ोल्डर है जिसे मैंने वीएस में बनाया है, और जब मैं इसे सबवर्सन में जोड़ने की कोशिश करता हूं तो यह मुझे वह त्रुटि देता है। अन्य सभी फ़ोल्डर ठीक हैं।


ऐड ऑपरेशन पर आपको 'ऑब्स्ट्रक्टेड' मिलता है?
सैंडर रिजकेन

जवाबों:


113

यह तब होता है जब आपने .svn उपनिर्देशिका को हटा दिया है या ले जाया गया है (एसवीएन कमांड के माध्यम से जाने के बिना), इसलिए एसवीएन के पास काम की प्रतिलिपि का एक दूषित दृष्टिकोण है।

पहले क्लीनअप का प्रयास करें, और यदि वह इसे हल नहीं करता है, तो उपनिर्देशिका .svn फ़ोल्डर्स को पुनर्स्थापित करने के लिए निर्देशिका को वापस (या अपडेट) करें।


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

1
अच्छा भगवान, मैं इस परियोजना की एक प्रति के आधार पर करने की कोशिश कर रहा था जो मेरे पास मेरे बाहरी ड्राइव पर थी, न कि मेरे स्थानीय ड्राइव से काम करने वाली कॉपी पर। ओह।
पॉजिटिव जी

8
यदि आप किसी निर्देशिका को एक स्थान से दूसरे स्थान पर ले जाते हैं और SVN चाल आदेश का उपयोग नहीं करते हैं तो अक्सर ऐसा होता है। छिपी हुई .svn फ़ाइल को इसके साथ ले जाया जाता है लेकिन उसे अपडेट नहीं किया जाता है। .Svn फ़ाइलों को हटाने से समस्या ठीक हो जाती है।
user85259

1
यह मेरे साथ तब हुआ जब मैंने विंडोज एक्सप्लोरर का उपयोग करने के बजाय विजुअल स्टूडियो 2008 का उपयोग करके फ़ोल्डर को किसी अन्य फ़ोल्डर में कॉपी करके एक संपूर्ण फ़ोल्डर को स्थानांतरित कर दिया।
MacGyver

2
जिस तरह से मैंने हल किया था वह मेरी फ़ाइलों को बाधित फ़ोल्डर से निर्यात करना था ताकि मैं उन्हें खो न दूं, फिर मैंने बाधा वाले फ़ोल्डर के ऊपर फ़ोल्डर पर क्लिक किया, फिर से क्लिक किया, फिर अन-चयनित सब कुछ लेकिन बाधित फ़ोल्डर, और बाधित होने वाले परिणाम को वापस कर दिया। फ़ोल्डर, तो यह .svn फ़ाइल की सामग्री से उस फ़ोल्डर को चीर देगा। फिर मैंने निर्यात की गई फ़ाइलों के साथ पहले से बाधित फ़ोल्डर को फिर से जोड़ा, और उन्हें फिर से जोड़ा।
मैकगिवर

9

यह जानने के बिना कि इसका क्या कारण है, समाधान कार्य प्रतिलिपि (संपूर्ण चेकआउट आपके पास स्थानीय रूप से) को कहीं और निर्यात करने के लिए हो सकता है।

यदि आप tortoisesvn का उपयोग कर रहे हैं, तो आपको "संयुक्त राष्ट्र-रहित फ़ाइलों को निर्यात करने" का विकल्प मिलता है, लेकिन मुझे लगता है कि अगर यह कमांड लाइन से कर रहा है तो यह केवल संस्करणित फ़ाइलों को निर्यात करता है, इसलिए आपके पास मैन्युअल रूप से संयुक्त राष्ट्र-संस्करण की प्रतिलिपि बनाने वाला एक श्रमसाध्य कार्य हो सकता है ।

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

मैंने इन त्रुटियों को पहले देखा है जब लोगों ने अन्य कार्य प्रतियों या किसी अन्य चीज़ के अंदर काम करने वाली प्रतियों की जाँच की है जो .svn प्रविष्टियों को दूषित करती है।


उसने मेरे लिए इसे हल कर दिया। धन्यवाद!
पैट्रिक

11
मुझे लगता है कि समाधान बिन में SVN छड़ी और एक संस्करण नियंत्रण प्रणाली पर स्विच करना है जो बकवास नहीं है। सॉरी ... मैं बस निराश हूं।
फिल हेल

5

एक ही मुद्दा था और इसे इस तरह तय किया:

  • रुका हुआ डायर नाम दिया
  • SVN में अपने मूल नाम के साथ dir बनाया (जैसे svn mkdir)
  • पैरेंट फ़ोल्डर को अपडेट किया गया है, इसलिए मेरी बनाई गई कॉपी में नव निर्मित डायर दिखाई देता है
  • नई बनाई गई dir में बाधा से फ़ाइलों की प्रतिलिपि बनाई और उन्हें कमिट किया

4

यदि आप एक * nix सिस्टम पर हैं, तो सुनिश्चित करें कि आपने एक फ़ाइल नहीं बनाई है, इसे SVN में जोड़ें, फिर इसे हटाएं, इसे उसी नाम के फ़ोल्डर से बदल दें। ओपी मदद नहीं करता है, लेकिन उम्मीद है कि यह किसी को तनाव का एक गुच्छा बचा लेगा।


1

इसका मतलब है कि, किसी कारण से, ऑपरेशन के दौरान एक संघर्ष हुआ है। यह देखने के लिए जांचें कि क्या कोई संस्करण के रूप में एक ही नाम के साथ एक मौजूदा असंबद्ध फ़ाइल या फ़ोल्डर है।

(कछुआ एसवीएन ग्राहक सहायता फ़ाइल से हटा दिया गया)


1

मेरे लिए कुछ भी काम नहीं किया इसलिए मैंने निम्नलिखित कार्य किया है:

  • एक नए स्थान पर बिना फ़ाइलों के साथ निर्यात किया गया
  • मौजूदा फ़ोल्डर का नाम बदला
  • परियोजना में निर्यात स्थान से फ़ोल्डर ले जाया गया
  • नए फ़ोल्डर का नाम बदला
  • जोड़ें, प्रतिबद्ध करें
  • पुराने, पुनर्नामित फ़ोल्डर को हटा दिया गया
  • नए फ़ोल्डर का नाम बदला
  • प्रतिबद्ध

1

परिदृश्य के विभिन्न रूप हैं जो इस स्थिति का कारण बन सकते हैं। यहाँ एक उदाहरण है:

मैं के साथ समाप्त हो गया! 'svn नाम' आदेश का उपयोग किए बिना www से www_a के लिए बदला गया था, जो एक निर्देशिका पर निशान:

  1. मौजूदा नाम का नाम बदलें, जो मूल नाम को भालू करता है, उदाहरण के लिए www_b
  2. Www_a को www पर वापस नाम दें
  3. सुनिश्चित करें कि आप www निर्देशिका के अंदर 'svn अपडेट' या 'svn revert' करते हैं
  4. 'Svn delete' का उपयोग किए बिना अप-टू-डेट www निर्देशिका हटाएं
  5. मूल निर्देशिका पर जाएं और 'svn अपडेट' जारी करें
  6. यह मूल www निर्देशिका को पुनर्स्थापित करेगा
  7. इस बार www से www_a का नाम बदलने के लिए 'svn rename' का उपयोग करें
  8. Www_b को www पर वापस नाम दें
  9. इसे रिपॉजिटरी में जोड़ने के लिए 'svn add' का प्रयोग करें

आपको इस बिंदु पर एक सही svn वर्क डायरेक्टरी मिलनी चाहिए। और svn निर्देशिका भ्रम को हल करने के तरीके पर एक या दो चीज़ सीखें।


1

Windows मशीन पर इस समस्या का सामना किया।

इससे पहले कि मैं पूरी परियोजना की जाँच करूँ, मैंने निर्देशिका की जाँच कर ली थी। इसने मेरे लिए 'बाधित' मुद्दे का कारण बना।

मैंने बस उस फ़ोल्डर को हटा दिया और रूट (उस फ़ोल्डर का) से एक अपडेट चलाया। यह ठीक काम किया।

मेरे लिए सफाई आदि जैसे काम नहीं हुए।

सावधानी के कुछ शब्द:

  1. यदि फ़ोल्डर बड़ा है तो यह महंगा है।
  2. यदि आप कोई भी हैं तो यह आपके सभी परिवर्तनों को खो देगा।

शुभकामनाएं।


1

मैंने इसे विंडोज पर भी देखा है जब मैंने एक रिपॉजिटरी डायरेक्टरी के लिए एक प्रतीकात्मक लिंक बनाया है; इस मामले में, रिपॉजिटरी रूट को "बाधित" के रूप में देखा जाता है। हालांकि इसका कोई असर नहीं दिख रहा है।

प्रजनन करने कि प्रक्रिया:

  1. अपने रेपो की जाँच करें

    svn checkout --force http://svn.server.hostname/path/to/repo/and/plugin_dir
    
  2. जांचें कि आपकी निर्देशिका ठीक है

    cd plugin_dir
    svn st -u
    

    आउटपुट होना चाहिए

    Status against revision: 1234
    
  3. सिमलिंक बनाएँ (जो समस्या दिखाता है)

    cd ..
    mklink /d link_dir plugin_dir
    cd link_dir
    svn st -u
    

    आउटपुट होगा

    ~           1234  .
    Status against revision: 1234
    

0

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

मैंने ऊपर दिए गए सभी सुझावों की कोशिश की और अन्य ऑनलाइन कोई फायदा नहीं हुआ। प्रत्येक विकल्प ने त्रुटि उत्पन्न की कि मेरी निर्देशिका लॉक हो गई और ऑपरेशन नहीं किया जा सका।

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


0

हमारे पास अक्सर एक ही समय में कई शाखाएं होती हैं, ताकि मुझे स्विच करने या IIS कॉन्फ़िगरेशन के साथ गड़बड़ करने से बचाने के लिए मैं प्रत्येक शाखा को एक अलग फ़ोल्डर में जांचता हूं। फिर मैं उन फ़ोल्डरों को IIS में कॉन्फ़िगर किए गए मुख्य पथ से कनेक्ट करने के लिए डायरेक्ट्री लिंकिंग का उपयोग करता हूं।

तो मेरे लिए लिंक की गई निर्देशिका में हमेशा एक पीला विस्मयबोधक होता है और इसे बाधा के रूप में चिह्नित किया जाता है। मेरा मानना ​​है कि यह इसलिए है क्योंकि यह तकनीकी रूप से एसवीएन से बाहर बनाया गया था।


0

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

उस .svnडाइर को वापस लाने के लिए, डिरेक्टेड डायर वाली डायरेक्टरी से। मैं एक चेकआउट करता हूं --force। उदाहरण के लिए, यदि plugin_dirमैं "~" चिह्नित करता हूं , तो उसके मूल निर्देशिका से मैं चलता हूं:

svn checkout --force http://svn.server.hostname/path/to/repo/and/plugin_dir

चेकआउट कमांड के आउटपुट पर पहले से ही मौजूद किसी भी फाइल को अकेला छोड़ दिया गया है और "ई" को चिह्नित किया गया है (जब मैं चलाता हूं तो "एम" के रूप में चिह्नित किया जाता है svn status)।

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


0

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


हाँ, मुझे अपना फ़ोल्डर हटाना पड़ा, यह भ्रष्ट था ... .svn फ़ोल्डर।
पॉजिटिव

0

यह तब भी हो सकता है जब आप अपने तोड़फोड़ को एक ऐसे संस्करण में अपग्रेड करते हैं जो XCode का समर्थन नहीं करता है।


0

इसका हल निकालने का सबसे सरल (और सबसे सुरक्षित) तरीका यहां है:

  1. अस्थायी रूप से आपत्तिजनक फ़ाइल या निर्देशिका (या एक मूल निर्देशिका) का नाम बदलें जो बाधित है (उदाहरण के लिए ".backup" जोड़ें)।
  2. .svnनामांकित निर्देशिका (यदि लागू हो) के अंदर कोई निर्देशिका हटाएं ।
  3. svn revert नाम बदला हुआ (और अब गायब) चरण 1 से वस्तु।
  4. svn delete वापस की गई वस्तु।
  5. चरण 1 से बैकअप को उसके मूल नाम पर पुनः नाम दें।
  6. एक नई वस्तु के रूप में svn में वापस नामांकित वस्तु जोड़ें और चेक-इन करें।

0

यह मेरे लिए तब हुआ जब मैंने एक फ़ाइल को एक फ़ोल्डर से बदल दिया, जिसमें ठीक उसी नाम का नाम था। पुरानी फ़ाइल को हटाकर, प्रतिबद्ध, और फिर नया जोड़कर हल किया गया। थोड़ा हैकी, लेकिन मेरे लिए काम :)


0

मैंने बाधित निर्देशिकाओं में। Svn को हटा दिया और इसे बाहर से अद्यतन किया। फिर बाहर svn कमांड इन फ़ाइलों को पहचान लेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.