SVN में "वर्किंग कॉपी एडमिन एरिया गायब है" कैसे ठीक करें?


184

मैंने अपनी रिपॉजिटरी में मैन्युअल रूप से एक निर्देशिका को जोड़ा, जिसे मैंने अभी-अभी, ऑफ़लाइन जोड़ा है। मैं निर्देशिका को पुनर्स्थापित नहीं कर सकता।

अपडेट या कमिट करने का कोई भी प्रयास विफल रहेगा:

"blabla/.svn" containing working copy admin area is missing.

मैं समझता हूँ क्यों, लेकिन इसे ठीक करने के लिए वैसे भी है।

मैं पूरे रेपो की जांच नहीं करना चाहता हूं और इसमें अपने बदलावों को मैन्युअल रूप से जोड़ना चाहता हूं, इसमें घंटों लगेंगे।

जवाबों:


148

इसके अनुसार: http://www.devcha.com/2008/03/svn-directory-svn-contain-working.html

फ़ोल्डर "ब्लेबला" को एक अलग स्थान पर चेक-आउट करें और फिर उसके .svn फ़ोल्डर को मूल "ब्लाब्ला" में वापस कॉपी करें।


62
मेरे पास एसवीएन है। .svnसभी जगहों पर उप- सीमाएँ लचर करना संस्करण नियंत्रण इतिहास में सबसे बुरा विचार रहा होगा।
जोहान्स फारेनक्रग

9
दोस्तों, रॉब द्वारा नीचे दिए गए सुझावों की जाँच करें, यह वर्तमान समाधान तो आसान है।
मोहम्मद आरिफ

मोहम्मद, सिर ऊपर करने के लिए धन्यवाद। मेरे लिए यही काम किया। एक लॉग डायरेक्टरी को अनदेखा करने के लिए एसवीएन प्राप्त करने की कोशिश कर रहा था, और डिलीट कर रहा था। एसवीएन मुझे इस समस्या से मिला। रॉब के समाधान ने इसे हल कर दिया।
असमर

जोहान्स, मैं या तो SVN का प्रस्तावक नहीं हूं, लेकिन .svn निर्देशिकाओं का लाभ यह है कि आप एक रिपॉजिटरी की उप निर्देशिकाओं की जांच कर सकते हैं और संस्करण नियंत्रण बनाए रख सकते हैं।
जोसेफ पर्स

@ मोहम्मदअरिफ़, अब दो "रॉब" हैं
चार्ल्स क्लेटन

123

fwiw, मेरे पास एक समान स्थिति थी और svn --force हटाएं __dir__ का उपयोग किया । मेरे लिए यह समस्या हल हो गई। फिर मैंने अपनी वर्किंग कॉपी के साथ सामान्य तरीके से काम करना जारी रखा।


2
यह मेरे लिए भी काम किया। अपडेट और क्लीन विफल हो गए क्योंकि निर्देशिका कभी भी रिपॉजिटरी में नहीं थी, लेकिन काम की प्रतिलिपि सुनिश्चित थी कि यह संशोधन नियंत्रण में था। मुझे आश्चर्य है कि अगर मैंने निर्देशिका को जोड़ा, लेकिन इससे पहले कि मैंने इसे प्रतिबद्ध किया, तब इसे हटा दिया गया?
मैग्नस

1
यह बहुत अच्छा है। मैंने एक डायरेक्टरी जोड़ी थी, .svn को डिलीट किया लेकिन कभी कमिट नहीं किया। यह totaly चाल किया था
एरिक

8
धन्यवाद; इस जवाब ने मुझे बहुत समय बचाया। svn cleanupफिर svn --force delete <directory-that-doesn't-exist-but-should>मेरे लिए काम किया।
mpontillo

दूसरी कोशिश में काम किया, मैंने पहली बार --फोर्स के बिना कोशिश की, कि किसी तरह माता-पिता की। Svn में एक लॉक फ़ाइल छोड़ दी जिसे मुझे मैन्युअल रूप से निकालना पड़ा। दूसरी बार --फोर्स ने समस्या को ठीक किया।
होर्नस्टमन

3
हम्म, वह आदेश बस मुझे वही "वर्किंग कॉपी" त्रुटि देता है।
ऑस्कर

72

मैंने इसे ठीक करने के लिए प्रश्न के तहत फ़ोल्डर की स्थानीय प्रतिलिपि को हटाने के लिए किया था और फिर svn updateबाद में सीधे माता-पिता के लिए किया था।

इसे ठीक किया।


3
मैं विश्वास नहीं कर सकता ... मैंने सब कुछ करने की कोशिश की ... और यह सिर्फ इतना आसान था !!! यह पूरी तरह से काम किया, बहुत धन्यवाद !!!!!
लूकाफेरियो जूल

यह सबसे सीधे आगे का जवाब है।
जोआल

35

क्या आप मूल निर्देशिका की नई प्रतिलिपि देखने का प्रयास कर सकते हैं?

संपादित करें: थोड़ा अधिक विशिष्ट होने के लिए, मेरा मतलब है कि एक स्तर पर जाने और युक्त निर्देशिका को हटाने का सुझाव देना। फिर ए

svn update --set-depth infinity

निर्देशिका को बदलने के लिए।


मैंने कोशिश की लेकिन कुछ अजीब कारण के लिए, मैं एक खाली निर्देशिका के साथ समाप्त होता हूं। मुझे यह नहीं मिला ...
ई-सतीस

माता-पिता से एक स्पष्ट <कोड> svn अपडेट ब्लाबला </ कोड> भी काम करना चाहिए।
jmanning2k

@ jmanning2k, यही तो मैंने भी सोचा था, लेकिन ओपी ने कहा कि उन्होंने इसकी कोशिश की और यह काम नहीं किया।
रॉब वेल्स 15

स्पष्ट करने के लिए, मैंने इसके --set-depth infinityकारण सुझाव दिया : stackoverflow.com/questions/866835/…
Wim Coenen

1
यह बहुत अधिक upvotes की जरूरत है ... त्वरित और अपेक्षाकृत (svn मानकों के लिए) स्वच्छ समाधान।
डिनो

6

मैंने svn में एक निर्देशिका जोड़ी, फिर मैंने गलती से .svn फ़ोल्डर को हटा दिया।

मैंनें इस्तेमाल किया

svn delete --keep-local folderName

मेरी समस्या को ठीक करने के लिए।


यह मेरे लिए तब काम आया जब मेरी आईडीई ने एक निर्देशिका जोड़ी, और तब मैंने प्रतिबद्ध होने से पहले उसी नाम की एक निर्देशिका को स्थानांतरित कर दिया था।
quellish

यह कोशिश की, लेकिन अभी भी प्रतिबद्ध नहीं कर सका। मैंने प्रयोग किया svn checkout --force [url]जो .svn फोल्डर को पुनः बनाया
लेक्स

4

मैंने सिर्फ 'svn revert / blabla' किया और यह काम किया, फ़ोल्डर वापस आ गया है और मैं इसे हटा सकता हूं


धन्यवाद। मेरे पास यह मुद्दा था और मैंने आपके सुझाव की कोशिश की और यह काम कर गया।
बोरिक

3

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

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


2

हम मावेन और svn का उपयोग करते हैं। यह SVN के लिए लक्ष्य निर्देशिका का एक गलत चेकइन था जो इस त्रुटि का कारण है। अगर यह संकेत किसी की मदद करता है, तो उस सब कुछ को हटा देना।


बाहर निकालते समय क्या / कहाँ से?
DerMike

मावेन निर्माण करते समय "लक्ष्य" निर्देशिका बनाता है। आमतौर पर किसी को इस एक में जांच करने के लिए नहीं लगता है। एक एक्सीडेंट चेकइन ने अगली बार चेकआउट की अनुमति जारी की जिसने यह त्रुटि पैदा की। SVN से "लक्ष्य" निर्देशिका को हटाकर समस्या को हल किया गया।
मडु

2

मैंने svn rm --force /path/to/dirकोई फायदा नहीं उठाने की कोशिश की, लेकिन बस दौड़ता रहा svn upऔर उसने इसे मेरे लिए ठीक कर दिया।


1

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


1

मुझे एक ही समस्या थी, जब मैं "C: \ superfolder" स्विच करना चाह रहा था

त्रुटि संदेश:

Directory 'C:\superfolder\subfolder\.svn'
containing
working copy admin area is missing
Please execute the 'Cleanup' command.

"क्लीनअप" करने की कोशिश करने के बाद, मुझे निम्नलिखित त्रुटि मिली:

 Cleanup failed to process the following paths:
 C:\superfolder\
'C:\superfolder\subfolder\' is not a working copy directory

उपाय:

  1. फ़ोल्डर हटाएं "सबफ़ोल्डर"
  2. "सुपरफ़ोल्डर" फ़ोल्डर को साफ करें
  3. फ़ोल्डर को फिर से स्विच करने का प्रयास करें "सुपरफ़ोल्डर"

यह मेरे लिए काम किया। कृपया मुझे बताएं कि क्या यह आपके लिए भी काम करता है।


1

मुझे हाल ही में यह त्रुटि हुई थी। यह इस त्रुटि को देते हुए निर्देशिका में फ़ाइलों के एक जोड़े को रूट करने के कारण हुआ था।

जब मैंने अनुमतियाँ बदल दीं तो सब कुछ अपेक्षित रूप से काम कर गया।


1

आपकी पोस्ट से बहुत कुछ समझ नहीं आया। मेरा समाधान है

  1. समस्याग्रस्त फ़ोल्डर को काटें और कुछ स्थान पर कॉपी करें।
  2. एक और काम कर रहे निर्देशिका (सिर्फ एक नया) में तोड़फोड़ से समाधान प्राप्त करें।
  3. अपने सहेजे गए फ़ोल्डर को नई कार्य प्रतिलिपि में जोड़ें और इसे मौजूदा परियोजना के रूप में जोड़ें (यदि यह मेरे मामले में प्रोजेक्ट है)।
  4. कमिट;

1

मेरे पास यह मुद्दा था। बस ब्लाब्ला को अस्थायी रूप से किसी अन्य स्थान पर ले जाएं, svn को इसे वापस लाने के लिए कहें, और फिर इसे वापस ले जाएं। इसे नए जोड़ के रूप में माना जाता है। सरल!


1

सबसे सरल जिसने मेरी मदद की:

rm -rf _dir_in_question_
svn up

यदि आपके पास समस्याग्रस्त डायर में परिवर्तन हैं, तो यह आपके लिए एक अच्छा समाधान नहीं है।


1

मुझे इस समस्या का सामना करना पड़ा जब एक नए संस्करण के साथ एक तीसरे पक्ष के एपीआई पुस्तकालय की जगह, और यहां कोई भी समाधान वास्तव में मेरे लिए काम नहीं करता था क्योंकि मैं स्थानीय संस्करण के साथ एसवीएन संस्करण को बदलना चाहता था। मेरा समाधान इस प्रकार था:

1) अपमानजनक फ़ोल्डर को मेरे घर डीआईआर पर ले जाएं, इसे एसवीएन से हटा दें और प्रतिबद्ध करें:

mv foldercausingproblem ~/
svn --force delete foldercausingproblem
svn commit --message "Temporary removing folder with old API"

2) फ़ोल्डर को वापस रखो, इसे एसवीएन में जोड़ें और फिर से प्रतिबद्ध करें:

mv ~/foldercausingproblem ./
svn --force add .
svn commit --message "Finally all working!"

थोड़ा परेशान दो बार करने के लिए है, लेकिन यह ठीक काम किया है लगता है।


मैं आम तौर पर रेपो (आईडीई, कंपाइलर, त्रुटि पार्सर की मेरी कामकाजी प्रति से अलग से कोड पर काम करना पसंद करता हूं। एसयूवी को पसंद नहीं करता हूं, और कोई ग्रहण नहीं है। ईएसवीएन एक्स्क्लुसिव एनएन! ग्रहण ग्रहण में कमांड!)। इसका मतलब यह है कि मेरे लिए मूल एसवीएन प्रतिबद्ध प्रक्रिया है: 1. रेपो की चेकआउट वर्किंग कॉपी 2. मेरे पास प्रोजेक्ट की रूट डायरेक्टरी है। 3 के लिए अपडेट है। वर्किंग कॉपी में प्रोजेक्ट की पैरेंट डायरेक्टरी को अपडेटेड प्रोजेक्ट डायरेक्टरी कॉपी और पेस्ट करें। 4.nn add --force <projname> 5. प्रतिबद्ध। यह आमतौर पर काम करता है, लेकिन कभी-कभी ओपी की त्रुटि को फेंक सकता है। जेमी ब्राउन के फिक्स ने मेरे मामले में काम किया
CCJ

0

बस अगर कोई और समाधान चाहता है तो:

  1. अपने नए फ़ोल्डर में "foldername2" के रूप में जांचें
  2. Tortise SVN रेपो ब्राउज़र में जाएं
  3. "Foldername2" को "foldername" नाम दें
  4. विंडोज़ एक्सप्लोरर में एक अद्यतन करते हैं

आशा है कि यह किसी की मदद करता है।

-Ev


केवल एक विंडोज समाधान।
राप्तोर

0

मेरे लिए, एक ही मुद्दा तब हुआ जब मैं दोनों:

  • हटाई गई ( --force) एक .map फ़ाइल
  • के svn:ignoreमाध्यम से * .map जोड़ा गयाsvn propedit svn:ignore .

मेरा समाधान यह था:

  1. संपत्ति में पूर्ववत परिवर्तन
  2. फ़ाइलों में परिवर्तन करें
  3. रिपॉजिटरी की एक नई प्रति चेक करें (अफसोस!)
  4. संपत्ति बदलें और प्रतिबद्ध करें

0

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

मैंने तब निर्देशिका को स्थानीय रूप से हटा दिया (निश्चित रूप से बैकअप के बाद) एक क्लीन अप और svn अपडेट किया और सब कुछ फिर से काम कर रहा था।


मैं जोड़ सकता हूं कि यह मेरे "svn sucks" फ़ाइल में जोड़ा गया है।
१।

0

सबसे पहले एक फ़ोल्डर में अपने सिस्टम में प्रोजेक्ट की जांच करें। फिर संघर्ष परियोजना से .svn फ़ोल्डर को हटा दें और नए चेकआउट फ़ोल्डर से .svn फ़ोल्डर को कॉपी करें और अपने काम करने वाले प्रतिलिपि फ़ोल्डर में पेस्ट करें। तब समस्या हल हो जाती है।


0

एक सामान्य कार्य जो मैंने अनुभव किया, उसे एक रेपो डायरेक्टरी को मंचन में ले जाने और इसे दूसरे रेपो में कॉपी करने का था - दोनों एसवीएन के तहत और दोनों को एक ही नाम कहा जाता है। मेरे लिए काम करने का तरीका निम्नलिखित था:

svn --force delete PROBLEMATIC-DIR
svn export "https://OLD REPO-A/ new-repo-A"
svn add new-repo-A
svn commit new-repo-A
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.