एसवीएन त्रुटि - काम की प्रति नहीं


215

हाल ही में हमारे svn सर्वर को बदला गया था और हमने एक svn स्विच किया था।

चूंकि वर्किंग कॉपी में भारी मात्रा में असंबद्ध संसाधन थे, इसलिए वर्किंग कॉपी लॉक हो गई और हमने svn के तहत सभी फोल्डर के लिए फोल्डर को स्विच करना शुरू कर दिया, जो पूरी तरह से ठीक है।

लेकिन रिपॉजिटरी के शीर्ष स्तर पर, जब मैं फ़ाइलों को अपडेट करने की कोशिश करता हूं, तो मुझे svn: वर्किंग कॉपी मिलती है । ' लॉक की गई त्रुटि और सफाई भी मदद नहीं कर रही है। जब मैं सफाई करता हूं, तो मुझे इस तरह की त्रुटियां मिलती हैं - svn: 'सामग्री' एक काम करने वाली प्रतिलिपि निर्देशिका नहीं है

ताजा चेकआउट बिल्कुल भी एक विकल्प नहीं है। क्या ताले को साफ करने और जारी करने और स्विच पूरी तरह से करने के लिए कोई अन्य तरीके हैं?

EDIT: जेस्पर के जवाब में अंतिम पैराग्राफ

यदि आपको पुनरावर्ती "svn cleanup" करते समय "वर्किंग कॉपी नहीं" मिलता है, तो मेरा अनुमान है कि आपके पास एक निर्देशिका है, जो एक वर्किंग कॉपी होनी चाहिए (यानी toplevel पर .svn डायरेक्टरी ऐसा कहती है), लेकिन यह याद आ रही है। स्वयं। svn निर्देशिका। उस स्थिति में, आप उस निर्देशिका को केवल हटाने / स्थानांतरित करने का प्रयास कर सकते हैं और फिर एक स्थानीय अद्यतन कर सकते हैं

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

लेकिन, मैं अभी भी svn स्विच त्रुटि का पता नहीं लगा सकता, जो अब कुछ इस तरह पढ़ता है,

svn: 'svn: // repourl / reponame / foldername' के भंडार में uuid 'm / reponame' है, लेकिन WC में 'b5b39681-0ff6-784b-ad26-2846b9ea8e7d' है

कोई विचार ?


इस त्रुटि का सामना करने वाले आर उपयोगकर्ताओं के लिए: github.com/wch/r-source/wiki#adding-svn-information
isomorphismes

जवाबों:


126

यदि आपको एक पुनरावर्ती कार्य करते समय "एक काम नहीं करने वाली प्रति" मिलती svn cleanupहै, तो मेरा अनुमान है कि आपके पास एक निर्देशिका है जो एक कार्यशील प्रति होनी चाहिए (यानी .svnशीर्ष स्तर पर निर्देशिका ऐसा कहती है), लेकिन यह अपनी स्वयं की .svnनिर्देशिका को याद कर रही है । उस स्थिति में, आप उस निर्देशिका को केवल हटाने / स्थानांतरित करने का प्रयास कर सकते हैं और फिर एक स्थानीय अपडेट (यानी rm -rf content; svn checkout content) कर सकते हैं।

यदि आपको कोई not a working copyत्रुटि मिलती है , तो इसका मतलब है कि तोड़फोड़ को .svnवहां उचित निर्देशिका नहीं मिल सकती है । यह देखने के लिए जांचें कि क्या कोई .svnनिर्देशिका हैcontents

यदि संभव हो तो आदर्श समाधान एक ताजा चेकआउट है।


1
मैं सहमत हूं, रेपो के साथ अपनी वर्किंग कॉपी को स्थानांतरित करने की कोशिश करने के बजाय एक नया चेकआउट करें।
बाघिन

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

पहले पैराग्राफ में आपका सुझाव मेरे सिस्टम (W7 + Cygwin) पर काम नहीं करता है। बल्कि rm और svn अपडेट ने किया।
जुक्का डाहलबॉम

17
चेतावनी: rm -rf फ़ोल्डर को contentस्थायी रूप से हटा देता है । इसे निष्पादित करने से पहले एक बैकअप लें।
कृष्णप्रभाकर

47

मैं एक समान स्थिति में आया ( svn: 'papers' is not a working copy directory) एक अलग तरह से, इसलिए मैंने सोचा कि मैं अपनी लड़ाई की कहानी (सरलीकृत) पोस्ट करूंगा:

$ svn add papers
svn: Can't create directory 'papers/.svn': Permission denied

ऊप्स! अनुमतियाँ ठीक करें ... फिर:

$ svn add papers
svn: warning: 'papers' is already under version control
$ svn st
~     papers
$ svn cleanup
svn: 'papers' is not a working copy directory

और यहां तक papersकि रास्ते से हटना और दौड़ना svn up(जो ओपी के लिए काम करता है) ने इसे ठीक नहीं किया। यहाँ मैंने क्या किया है:

$ mv papers papers_
$ svn cleanup
$ svn revert papers
Reverted 'papers'
$ mv papers_/ papers
$ svn add papers

वह काम किया।


6

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

  1. प्रभावित फ़ोल्डरों के बैकअप की प्रतिलिपि बनाएँ
  2. एसवीएन ने प्रभावित फ़ोल्डरों को वापस कर दिया
  3. फ़ाइलों को बैकअप से चिपकाएँ

मेरे मामले में समस्या .svn-files के कारण थी।


यह कैसे करना है ? कृपया संक्षिप्त में बताएं
आनंद सवजनी

5

हो सकता है कि आपने केवल फ़ोल्डर के पेड़ की नकल की और सबसे कम एक को जोड़ने की कोशिश की।

SVN
|_
  |
  subfolder1
       |
       subfolder2   (here you get an error)

उस स्थिति में आपको ऊपरी स्तर पर निर्देशिका करनी होती है।


3

वर्कअराउंड: उस निर्देशिका का नाम बदलें जो 'वर्किंग कॉपी' नहीं है, चेकआउट / अपडेट / इस डायरेक्टरी को फिर से रिस्टोर करें। रीनेम की गई डायरेक्टरी से फाइल को नए कमिट में बदलें

कारण: आपने .svn निर्देशिका के तहत कुछ फ़ाइलों में कुछ बदलाव किए, इससे 'वर्किंग कॉपी' टूट गई


3

यदि आपने एक नई निर्देशिका के अंदर एक फ़ाइल बनाई है, तो 'svn add newdir / newfile' के उपयोग के बजाय 'svn add newdir' का उपयोग करें क्योंकि आपको निर्देशिका जोड़ने की आवश्यकता है। निर्देशिका के अंदर सभी फाइलें डिफ़ॉल्ट रूप से जुड़ जाएंगी।


1

मुझे बस "एक कामकाजी प्रति नहीं" मिली, और मेरे लिए इसका कारण यूनिक्स पर ऑटोमैटिक राउटर था। बस एक ताजा "सीडी / पथ / से / काम / निर्देशिका" ने चाल चली।


1

वही, मुझे एक 'कंट्रीब' फोल्डर अपडेट करने की जरूरत थी:

  1. पुराने फ़ोल्डर को बाहर निकाल दिया,
  2. नए को कॉपी किया
  3. प्रत्येक (केवल मेरे मामले में तीन) नए फ़ोल्डर में .svn फ़ोल्डरों को कॉपी किया गया।

मुझे मेरा मामला भी हटाए गए .svn फ़ोल्डरों के कारण समस्या थी।

हल किया।


ग्रहण प्लगइन का उपयोग करके SVN सफाई में लगभग 4 घंटे मिले - अच्छा समय! वर्किंग कॉपी लॉक है - नहीं यह नहीं है, एक बेहतर संदेश के साथ आओ, लोगों को ग्रहण करें, धन्यवाद।
डार्थ जॉन

1

मैंने सब फ़ोल्डर से रूट फ़ोल्डर में .svn फ़ोल्डर को चिपकाने की कोशिश की। यह काम करता हैं!!!


1

यह जो मैंने किया है:

  1. ट्रंक को नाम बदलें ट्रंक_
  2. एक नया फ़ोल्डर ट्रंक बनाएं
  3. कुछ फ़ाइलों की जाँच के बाद प्रक्रिया को फिर से चेकआउट और बाधित करें
  4. फ़ाइलों को ट्रंक_ से ट्रंक में स्थानांतरित करें
  5. स्वेन क्लीनअप करें
  6. करो svn अद्यतन। यह फ़ाइलों की स्थिति को अद्यतन करेगा और फिर आपकी सभी फाइलें संस्करणबद्ध हो जाएंगी।

1

मैं svn diff ऑपरेशन में भी इस समस्या को पूरा करता हूं, यह गलत फ़ाइल पथ के कारण था, आपको './'वर्तमान फ़ाइल निर्देशिका को इंगित करने के लिए जोड़ना चाहिए ।


0

svn: 'svn: // repourl / reponame / foldername' के भंडार में uuid 'm / reponame' है, लेकिन WC में 'b5b39681-0ff6-784b-ad26-2846b9ea8e7d' है

प्रत्येक तोड़फोड़ रेपो में एक विशिष्ट पहचानकर्ता (uuid) होता है। तोड़फोड़ इसका उपयोग यह सुनिश्चित करने के लिए करता है कि स्विचिंग जैसी चीजें करते समय रेपो वास्तव में एक ही है। आपको संभवतः सर्वर पर पहले जैसा होने के लिए uuid को बदलना चाहिए।


सर्वर पर uuid बदलना - यह कैसे करें?
विजय देव

ईमानदारी से, मेरे पास कोई विचार नहीं है, मैं सिर्फ यह मानता हूं कि यह किया जा सकता है। क्या आपने तोड़फोड़ बुक में जाँच की है इसके बारे में कुछ भी कहते हैं?
जेस्पर

0

क्या यह एक वर्किंग कॉपी फॉर्मेट मिसमैच हो सकता है? यह svn 1.4 और 1.5 के बीच बदल गया और नए उपकरण स्वचालित रूप से प्रारूप को परिवर्तित करते हैं, लेकिन फिर पुराने लोग अब परिवर्तित प्रतिलिपि के साथ काम नहीं करते हैं।


0

आपने अपने प्रोजेक्ट से एक SVN - बेस फ़ाइल (जो केवल-पढ़ने वाली फ़ाइलें हैं) को हटा दिया होगा। इसके कारण आपको यह त्रुटि मिलती है।

एक नए प्रोजेक्ट को फिर से देखें, अपने पुराने SVN प्रोजेक्ट के बदलावों (यदि कोई हो) को "विंमर्ज" का उपयोग करके नए के साथ मर्ज करें और अपने नवीनतम चेक आउट में बदलाव करें।


0

@ जेस्पर का उल्लेख है कि आपको यूआईडी बदलने की आवश्यकता है। निम्नलिखित को आपको इसे प्राप्त करने में मदद करनी चाहिए।

SVN 1.5+ पर, आप svnadmin setuuid कर सकते हैं; फिर आप जांच सकते हैं कि यह svnlook uuid का उपयोग करके सही तरीके से सेट किया गया है। एसवीएन के पुराने संस्करणों पर, यह एक कठिन प्रक्रिया है। Http://chestofbooks.com/ computers/revision-control/subversion-svn/Managing-Repository-UUIDs-Reposadmin-Maint-Uuids.html देखें

इसके अतिरिक्त "m / reponame" का UUID संदिग्ध लग रहा है। मेरा मानना ​​है कि यह काम की नकल की तरह एक हेक्स-स्वरूपित संख्या होनी चाहिए, इसलिए शायद यह क्रिया सभी दौर में चीजों को बेहतर बनाएगी :-)

[मैंने मूल रूप से @ JesperE के उत्तर पर टिप्पणी की , लेकिन इस उत्तर को लोगों के लिए अधिक स्पष्ट और Google के लिए अधिक उपयोगी बनाने के लिए बनाया। जब से मैंने अपनी टिप्पणियाँ निकाली हैं। ]


0

यह एक ही समस्या थी, पता चला है कि हमारे पास स्लिक 1.6.2 था और साथ ही एक ही मशीन पर कछुआ भी था। कछुआ अपडेट किया गया था (और काम की प्रति अपडेट की थी) लेकिन स्लिक नहीं था, इसलिए कछुआ ने ठीक काम किया, लेकिन कमांड लाइन के साथ विफल रहा:

svn: '।' वर्किंग कॉपी डायरेक्टरी नहीं है

Tortoise और Slik दोनों को हटाना, फिर कमांड लाइन टूल के साथ Tortoise को फिर से इंस्टॉल करना मेरे लिए यह तय किया गया है।


0

मैक के लिए: - सर्वर की ओर से चेकआउट लें और चयनित फ़ोल्डर में अपना सारा कोड डालने की तुलना में आपकी स्थानीय मशीन से डायरेक्ट्री चुनने के लिए एक नई विंडो खुलेगी, फिर svn लोकल साइड को खोलें और प्रोजेक्ट जोड़ें और कमिट करें


0

आज मुझे /FILE_NAME/ is not a working copyसुबह ही मुद्दा मिल गया है और मैंने इसे हल करने के लिए दो घंटे और अधिक खर्च किए हैं। RND और Google के लंबे समय बाद मुझे कुछ समाधान मिला और वह है CHECKOUT

  1. CHECKOUTSUBVERSIONनए प्रोजेक्ट के रूप में स्थानीय से
  2. जावा फाइल में कुछ कोड बदलें और प्रोजेक्ट को कमिट करें।
  3. यह मेरे लिए काम करता है।

आशा है कि यह आपके लिए उपयोगी होगा।


0

हाल ही में मैं अन्य डेवलपर्स का उपयोग कर रहा था मैक मैं एक ही स्थिति थी, समस्या थी; पहले मुझे टर्मिनल के लिए रेपो पथ टाइप करने की आवश्यकता थी लेकिन मैंने ऐसा नहीं किया, क्योंकि यह कहता है कि आपका उपयोगकर्ता नाम और पासवर्ड क्या है।


0

मैं सिर्फ एक ऐसे मामले में भाग गया था जहाँ .svn निर्देशिका एक अलग मशीन पर एक nfs सर्वर पर है, और nfs क्लाइंट फ़ाइल लॉकिंग सेवा ( lockd) नहीं चला रहा था ।

svn: E155007: '/mnt/svnworkdir' is not a working copy

एक बार lockdnfs क्लाइंट होस्ट पर शुरू होने के बाद यह चला गया ।

ऐसा लगता है जैसे तोड़फोड़ एक बेहतर त्रुटि संदेश के साथ आ सकती है जब इसे फ़ाइलों को लॉक करने में परेशानी होती है। यह तोड़फोड़ 1.10.0 थी


0

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


-1

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

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