वर्किंग कॉपी XXX लॉक और क्लीनअप SVN में विफल


582

मुझे यह त्रुटि तब आती है जब मैं एक svn update:

वर्किंग कॉपी XXXXXXXX लॉक "क्लीनअप" कमांड निष्पादित करें

जब मैं सफाई चलाता हूं, मुझे मिलता है

क्लीनअप निम्नलिखित पथों को संसाधित करने में विफल रहा: XXXXXXXX

मैं इस पाश से कैसे बाहर निकलूं?


5
मुझे भी यह संदेश मिला। उपलब्ध कराए गए उत्तर थोड़े थकाऊ (विशेषकर सबसे अधिक मतदान वाले) दिखे। मैंने वीएस को बंद कर दिया और समाधान को फिर से खोल दिया और मैं सब कुछ ठीक करने में सक्षम था।
oscilatingcretin

फ़ायरफ़ॉक्स की SQLLite प्रबंधक का उपयोग करके WORK_QUEUE तालिका से प्रविष्टियों को हटाने के लिए eakkas टिप्पणी के बाद मेरे लिए इस मुद्दे को तय किया।
ज़ेपेलिन

12
एक सरल उत्तर है, बस विकल्प की जांच करें, "ताले तोड़ें" और जो आपकी काम की कॉपी को साफ कर देगा
फरहान

जवाबों:


517

एक दृष्टिकोण यह होगा:

  1. संपादित आइटम को किसी अन्य स्थान पर कॉपी करें।
  2. समस्या पथ वाले फ़ोल्डर को हटाएं।
  3. तोड़फोड़ के माध्यम से युक्त फ़ोल्डर को अपडेट करें।
  4. आवश्यकतानुसार अपनी फ़ाइलों को वापस कॉपी करें या परिवर्तनों को मर्ज करें।
  5. कमिट

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


123
इस ओपिनियन के लिए +1 आप केवल ओपी की समस्या (और मेरी) को ठीक करने के लिए नहीं, बल्कि किसी भी svn समस्या को ठीक करने के लिए 5 कदम देने के लिए भी। -1 ऐसे वर्कअराउंड की जरूरत के लिए तोड़फोड़ करने के लिए।
पीएक्सएल

34
जबकि यह तकनीकी रूप से काम करता है, तालों को हटाने की तुलना में ऐसा करने के लिए यह इतना बुरा तरीका है कि यह एक गिरावट का हकदार है।
जुका डाहलबॉम

8
मैं स्टेप 3 नहीं कर सकता क्योंकि ... "वर्किंग कॉपी पहले से ही लॉक है"
एवगेनी

20
ब्रैड्स की सलाह पर विचार करें "मेरे लिए, यह ट्रिक मेरी वर्किंग कॉपी के शीर्ष पर 'svn क्लीनअप' को चलाने के लिए थी, उस फोल्डर में नहीं जहां मैं समस्या आने से पहले पूरे समय काम कर रहा था।"
मार्को

5
Tortoise SVN का उपयोग करने वालों के लिए, आप चेक-आउट डायरेक्टरी के रूट फ़ोल्डर और क्लीन लॉक को बलपूर्वक चला सकते हैं। इसके अतिरिक्त आप इसे बिना फाइलें खोले हटाने के लिए कह सकते हैं। फिर अपडेट लें।
ओबैद

476

मेरे लिए, यह ट्रिक svn cleanupमेरी वर्किंग कॉपी में सबसे ऊपर चलने के लिए थी, उस फोल्डर में नहीं जहां मैं समस्या आने से पहले पूरे समय काम कर रहा था।


आम तौर पर काम करता है, लेकिन यह सुनिश्चित नहीं है कि यह नहीं है क्योंकि मैं एसवीएन 1.7 में अपग्रेड किया गया हूं
पॉपुलस

4
यह मेरे लिए 1.7 चलाने वाले क्लाइंट के साथ काम करता है, हालांकि सर्वर अभी भी 1.6.x है
मार्क होसांग

मेरे लिए 1.7 की सराहना की
1.7p22

1
मैंने इन्टू के उत्तर से संकेत को इस एक के साथ जोड़ दिया है: उस मूल फ़ोल्डर की तलाश करें, जिसके पास .svn फ़ोल्डर में "लॉक" फ़ाइल है, फिर वहां "svn cleanup" चलाएं। मेरे लिए यही काम किया।
रोबुरा

5
यह मेरे लिए काम करता है, चक के रास्ते की तुलना में बहुत तेज़ तरीका है। तो यह पहले एक शॉट के लायक है।

210

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

find . -name 'lock' -exec rm -v {} \;

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

स्रोत: http://www.svnforum.org/2017/viewtopic.php?p=6068


8
+1 मुझे लगता है कि वर्तमान में सबसे ज्यादा मतदान किए गए उत्तर की तुलना में यह बहुत बेहतर है - मुझे इस (आम!) समस्या से छुटकारा पाने के लिए पहले कहीं और फाइलों की नकल करने से नफरत है। मेरा कोड कोड जनरेशन टूल उसी नाम से फाइल जेनरेट करने के कारण हुआ, जिसे किसी और ने पहले ही SVN में जोड़ा था। मेरा बुरा नहीं है "svn up" सबसे पहले मैं
मानती हूं

44
यह अब कछुआ / एसवीएन 1.7 के साथ काम नहीं करता है (या कम से कम मुझे कोई लॉक फ़ाइल नहीं मिल सकती है क्योंकि अब मेटाडेटा के साथ एक केंद्रीकृत डीबी है)।
pesche

10
यहां एक त्वरित एक-लाइनर है, जो वर्तमान निर्देशिका में शुरू होने वाले सभी तालों को पुन: हटा देना चाहिए:find . | grep ".svn/lock" | xargs rm
जेसी

1
एसवीएन 1.7 के साथ, @ ब्रैड्स का उत्तर अधिक प्रभावी लगता है। यह जवाब मेरे लिए काम नहीं किया, और ब्रैड्स ने किया।
इरा बैक्सटर

1
मेरे मामले में कहीं भी कोई लॉक फाइल नहीं मिली है।
टिम एमबी

106

मेरे मामले में मैंने इसे SQLite ".svn \ wc" फ़ाइल लॉक रिकॉर्ड में मैन्युअल रूप से हटाकर WC_LOCK तालिका में रिकॉर्ड किया था।

मैंने SQLite संपादक के साथ "WC" फ़ाइल खोली और निष्पादित की

delete from WC_LOCK

स्क्रीनशॉट सभी प्रविष्टियाँ दिखा रहा है जो WC_LOCK से शुद्ध है

बाद eakkas की टिप्पणी है, तो आप से सभी प्रविष्टियों को हटाने के लिए आवश्यकता हो सकती है WORK_QUEUEके रूप में अच्छी तरह से मेज।


1
इसने विंडोज पर मेरे लिए सबवर्सन 1.7.5 के लिए काम किया। यहाँ से SQLite विशेषज्ञ परीक्षण संस्करण डाउनलोड किया गया: sqliteexpert.com/download.html । SQL टैब में ऊपर "हटाएं" sql स्टेटमेंट को रन करें।
एम काटज़

यह बहुत बेहतर है, बस एक अंतर यह है कि मैंने लाल (-) बटन पर क्लिक किया
रोहित श्रीवास्तव

3
एक नि: शुल्क DI एसक्यूएल जासूस भी करेगा चाल: yunqa.de/delphi/doku.php/products/sqlitespy/index
Ivelin Nikolaev

12
इसने मेरे लिए भी काम किया, लेकिन मुझे WORK_QUEUE तालिका में प्रविष्टियाँ शुद्ध करने की भी आवश्यकता थी
eakkas

6
WC_LOCK में से आइटम को हटाने से काम नहीं किया - जो काम किया था वह मेरे WORK_QUEUE आइटम की बूँद सामग्री को देख रहा था और निश्चित रूप से यह मुद्दा फ़ाइल था - मैंने रेपो ब्राउज़र से फ़ाइल को हटा दिया और फिर वर्क_की आइटम हटा दिया - इसके बाद एक सफाई और व्यापार में वापस भाग गया!
ग्रेग

95

सबसे आसान तरीका:

  1. पर जाएं जनक निर्देशिका (फ़ोल्डर) की परियोजना
  2. प्रेस राइट क्लिक करें
  3. पर प्रेस TortoiseSVN तो प्रेस को साफ अप ...
  4. क्लीन अप संवाद स्वचालित रूप से दिखाई देगा
  5. का चयन करें Clean up working copy status, Break locks, Fix time stamps, Vacuum pristine copies, Refresh shell overlays,Include externals
  6. प्रेस ठीक

आपने अपना काम सफलतापूर्वक किया।

अपने संदर्भ के लिए स्क्रीन शॉट्स की जाँच करें।

पहला कदम:

यहाँ छवि विवरण दर्ज करें

दूसरा चरण: ब्रेक लॉक विकल्प को सक्षम करें (क्लीनअप पॉपअप विंडो में दूसरा चेक बॉक्स) यहाँ छवि विवरण दर्ज करें

आशा है कि यह आपकी बहुत मदद करेगा।


10
मेरे मामले में, "ब्रेक लॉक" विकल्प पर्याप्त था, शायद पहले इस एक के साथ ही प्रयास करें
डोनटेलो

अच्छा उत्तर। मेरे पास इस एक के साथ 'डायलॉग ब्लाइंडनेस' का मामला था और कभी भी सफाई के विकल्पों की जाँच नहीं की। ऐतिहासिक रूप से, 'रूट टू रूट एंड क्लीन अप' काम करता था लेकिन मुझे लगता है कि ताले को तोड़ना मेरे मामले में पर्याप्त था ..
फिल कूपर

1
मेरे लिए भी काम किया!
डेनियल सिल्वा

सोचा नहीं था कि 'ब्रेक लॉक' करेंगे, क्योंकि मैंने कोई लॉक नहीं बनाया। लेकिन स्पष्ट रूप से यह svn-internal locks को तोड़ता है जो इस समस्या का कारण बन रहे थे। धन्यवाद!
बशर

मेरे लिए काम नहीं किया
😦

48

काम पर एक सहकर्मी लगातार इस संदेश को देखता है, और उसके लिए यह इसलिए है क्योंकि उसने SVN से इसे हटाने के बिना SVN संस्करण नियंत्रण के तहत एक निर्देशिका को हटा दिया है, और फिर उसी नाम के साथ संस्करण नियंत्रण के तहत नहीं इसके स्थान पर एक नई निर्देशिका बनाई है।

यदि यह आपकी समस्या है ...:

इसे ठीक करने के अलग-अलग तरीके हैं, यह निर्भर करता है कि निर्देशिका को कैसे / क्यों प्रतिस्थापित किया गया।

किसी भी तरह से, आप की आवश्यकता होगी:

ए) मौजूदा निर्देशिका का नाम अस्थायी नाम पर रखें

बी) फ़ाइल सिस्टम से हटाए गए निर्देशिका को पुनर्प्राप्त करने के लिए एक SVN करें, लेकिन SVN से नहीं

वहाँ से, आप या तो

ए) प्रासंगिक फ़ाइलों को उस निर्देशिका में कॉपी करें जिसे हटा दिया गया था

बी) आप निर्देशिका में सामग्री की एक महत्वपूर्ण परिवर्तन किया था, तो एक SVN मूल पर हटा सकते हैं, के लिए प्रतिबद्ध है, और नाम बदलने वांछित नाम के लिए अपने नए निर्देशिका वापस, एक SVN के बाद प्राप्त करने के लिए जोड़ते हैं कि संस्करण नियंत्रण में है।


1
आपका दूसरा चरण बी) मुझे बहुत बुरा लगता है, क्योंकि यह नए संस्करण में रखी गई मूल निर्देशिका की वस्तुओं के लिए संशोधन इतिहास को तोड़ देगा।
डुनरिल

बहुत बुरी चीजें तब हुई जब व्यक्ति ने फ़ाइल सिस्टम से एक संस्करण निर्देशिका को हटा दिया, लेकिन एसवीएन से नहीं। ऊपर दिया गया उत्तर एक पूर्ण पुनर्प्राप्ति नहीं हो सकता है, लेकिन यह एक पुनर्प्राप्ति है।
तैमू लीस्तु

34

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

यहाँ छवि विवरण दर्ज करें


मेरे लिए कछुआ एसवीएन रेपो ब्राउज़र से ताला तोड़कर काम किया। चेक आउट फ़ोल्डर पर ताला तोड़ने से कुछ नहीं हुआ।
भार्गव मममेडरेड्डी

23

यह एक मेरे लिए काम किया।

  1. रूट फ़ोल्डर में जाएं,
  2. राइट क्लिक और सफाई
  3. सभी उपलब्ध विकल्पों की जाँच करें
  4. ओके दबाओ

साफ करने के बाद यह आपको नवीनतम संस्करण में अपडेट करने की अनुमति देगा।


2
यह मेरे लिए भी काम करता है। क्लीन अप को आगे बढ़ाने के लिए आपको सभी उपलब्ध विकल्पों (मेरे संस्करण में 6 प्रविष्टियाँ) की आवश्यकता है; यह विफल हो जाता है अगर आप सिर्फ [क्लीन अप वर्किंग कॉपी स्टेटस] और [एक्सटर्नल शामिल करें] विकल्पों की जांच करते हैं।
विंसेंट जिया

1
यह पूरी तरह से मेरे लिए काम करता है ... प्रोजेक्ट> टीम> क्लीनअप पर राइट-क्लिक करके। SQL में किसी भी पंक्ति को .svn और न ही कुछ और से हटाना नहीं था। बस यही काम किया। धन्यवाद!
msqar

इसने मेरे लिए TortoiseSVN के संस्करण 1.7.4 में भी काम किया। मैं डिफ़ॉल्ट चेक बॉक्स के साथ गया था जो प्रस्तुत किए गए थे।
स्लम

आज मेरी मदद की, लेकिन मुझे सभी उपलब्ध विकल्पों की जांच करने की आवश्यकता नहीं थी। अंतिम तीन जो मेरे परिवर्तनों को वापस करते हैं, मैंने जांच नहीं की, और यह वैसे भी काम करता था। यह भी देखें stackoverflow.com/a/35192644/460775
EMBarbosa

1
इसने मेरे लिए काम किया। मैं बस की जाँच की Clean up working copy statusऔर Breaks locksऔरInclude externals
Phiber

11

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

अन्य प्रोग्राम भी इस समस्या के कारण रेपो में फ़ाइलें खोल सकते हैं। एक्सेल को खुले में रखना एक्सेल एक अन्य उदाहरण में एक अपराधी था, इसलिए सभी कार्यक्रमों को बंद करने में समझदारी हो सकती है जो रेपो में कुछ भी उपयोग कर रहे हों या प्रोग्राम को बंद करने के लिए मजबूर करने और फिर से सफाई करने की कोशिश कर रहे हों।


7

मुझे यह समस्या थी क्योंकि बाहरी फ़ोल्डर मौजूदा फ़ोल्डर में लिंक नहीं होना चाहते हैं। यदि आप एक svn: एक्सटर्नल प्रॉपर्टी लाइन जोड़ते हैं, जहां गंतव्य एक मौजूदा (संस्करण या गैर-संस्करण) फ़ोल्डर है, तो आपको SVN वर्निंग कॉपी लॉक त्रुटि मिलेगी। यहां एक सफाई भी आपको बताएगी कि सब कुछ ठीक है, लेकिन फिर भी अपडेट करने से काम नहीं चलेगा।

समाधान: परेशान फ़ोल्डर को रिपॉजिटरी से हटाएं और रूट फ़ोल्डर में एक अपडेट करें जहां svn: externals property सेट है। इससे फोल्डर बन जाएगा और सब फिर से ठीक हो जाएगा।

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


6

ऐसा करने का सबसे आसान तरीका छिपा हुआ फ़ोल्डर है और फिर .SVN फ़ोल्डर खोलें। आपको "लॉक" नाम की एक शून्य KB फ़ाइल देखनी चाहिए, इसे हटाने से समस्या ठीक हो जाएगी


5

मैं एसवीएन 1.7 का उपयोग करके सटीक एक ही मुद्दे पर आया था और ऊपर वर्णित सुधारों में से कोई भी काम नहीं किया।

सबसे महत्वपूर्ण, सुनिश्चित करें कि आप अपनी सभी संपादित सामग्री का बैकअप लें।

कुछ घंटे बिताने के बाद (सब कुछ नहीं घटाया क्योंकि मेरी शाखा का आकार 6gb से अधिक है), मैंने पाया कि आपकी शाखा के .svn फ़ोल्डर में "wc" नामक एक db फ़ाइल है।

किसी भी db प्रबंधक (मैं फ़ायरफ़ॉक्स के स्क्वैलाइट प्रबंधक प्लगइन का उपयोग करता है) का उपयोग करके db फ़ाइल खोलें और WC_LOCK तालिका में नेविगेट करें। इस तालिका में अधिग्रहित ताले के लिए प्रविष्टियां होंगी। तालिका से रिकॉर्ड हटाएं और आपका काम हो गया :)


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

3

जब मुझे यह समस्या होती है, तो मैं क्लीनअप कमांड को सीधे समस्या पथ पर चलाता हुआ पाता हूं जो आम तौर पर काम करता है। तो मैं फिर से काम की जड़ से सफाई चलाऊंगा, और यह कुछ अन्य निर्देशिका के बारे में शिकायत करेगा। और मैं सिर्फ तब तक दोहराता हूं जब तक कि यह शिकायत करना बंद न कर दे।


1
मुझे पिछले उत्तरों के साथ लॉक फाइल नहीं मिली, लेकिन इसने मेरे लिए काम किया :)
serenskye

3

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


3

मैंने इसे केवल एक नया फ़ोल्डर बनाकर किया, परियोजना की जाँच की, अद्यतन की गई फ़ाइलों को नए फ़ोल्डर में कॉपी किया।

इसे नए सिरे से तय किया गया था।


मैने भी वही कीया। (मैंने अपनी वर्किंग कॉपी के साथ AnkhSVN को गड़बड़ करने के लिए मूल कारण नीचे रखा है। AnkhSVN अब अनइंस्टॉल हो गया है)।
स्कूटी.नेट

2

क्या आप TortoiseSVN का उपयोग कर रहे हैं और अभी उन्नत हैं? 1.4 से 1.5 की ओर बढ़ने और रिबूट न ​​होने से पहले मुझे वह समस्या हुई है। (रिबूट का प्रयास करें)।

रीबूट करने की आवश्यकता का कारण यह है कि कैश फ़ाइल को सभी कायरता मिलती है।

अन्यथा, बस आगे बढ़ने के लिए, उस वर्किंग कॉपी को एक नए फ़ोल्डर में निर्यात करें (.svn हिडन फोल्डर कॉपी न करें), प्रोजेक्ट को फिर से चेकआउट करें, और अपने सभी कोड को वापस ले जाएं, फिर अपनी ओर से आगे बढ़ें।


मेरे साथ भी यही हुआ, बस मुझे रिबूट करने की जरूरत है
मैथ्यू लॉक

2

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


3
एसवीएन 1.7 में, यह काम नहीं करेगा क्योंकि शीर्ष पर केवल एक .svn फ़ोल्डर है। यदि हटा दिया जाता है, तो रिपॉजिटरी के लिए अनुलग्नक हटा दिया जाता है।
ऐनीअगाइल

2

Mac OS के अंतर्गत संस्करणों में: कार्य -> ​​क्लीनअप वर्किंग कॉपी लॉक पर ...


2

मुझे अक्सर ऐसा मुद्दा मिलता है। मेरा पैटर्न जो सफाई की समस्याओं का कारण बनता है।

  1. मैं दर्शक में छवि फ़ाइल खोलता हूं।
  2. मैं छवि फ़ाइल / फ़ोल्डर हटाता हूं।
  3. मैं कमिट / अपडेट करने की कोशिश कर रहा हूं

हटाए गए फ़ाइल को खोलने पर छवि दर्शक बंद करना समस्या का हल करता है। हो सकता है कि अन्य सॉफ्टवेयर उसी तरह से सफाई को अवरुद्ध कर सकते हैं।

सामान्य रूप में। मेरा मानना ​​है कि कंप्यूटर को पुनरारंभ करने से ऐसे मामलों में मदद मिल सकती है।


1

SVN आम तौर पर एक फ़ोल्डर में फ़ाइलों की अपनी आंतरिक संरचना (.svn / प्रोप-बेस) को अद्यतन करता है इससे पहले कि वास्तविक फ़ाइलों को रिपॉजिटरी से प्राप्त किया जाए। एक बार फाइल लाने के बाद यह साफ हो जाएगा। अक्सर त्रुटि को फेंक दिया जाता है क्योंकि अद्यतन के दौरान "अपडेट" विफल या समय से पहले रद्द कर दिया गया है।

  1. किसी भी फाइल को .svn / प्रोप-बेस डायरेक्टरी के अंतर्गत सूचीबद्ध करें
  2. ऐसी कोई भी फाइल निकालें, जो फोल्डर के नीचे न हों
  3. साफ - सफाई
  4. अपडेट करें

अब अद्यतन काम करना चाहिए।


1

एक ही समस्या थी क्योंकि मैंने एक संस्करण-नियंत्रित फ़ोल्डर के तहत एक फ़ोल्डर निर्यात किया था। TortoiseSVN से फ़ोल्डर को हटाना था, तो फाइलसिस्टम से फ़ोल्डर को हटा दें (TortoiseSVN को असंबद्ध सबफ़ोल्डर पसंद नहीं है ... क्यों नहीं ???)


मुझे यह जोड़ना चाहिए कि मैंने SAME FOLDER को एक फ़ोल्डर निर्यात किया है। यह है कि आप किस तरह से अप्रकाशित हैं। संस्करण फ़ोल्डर।

1

खोज प्रारंभ करें .... लॉक करें ... सूचीबद्ध सभी फ़ाइलों का चयन करें और हटाएं .. उपर्युक्त


1

निम्नलिखित करना चाहिए:

svn स्थिति | grep "| L" | sed 's / .* (। *) $ / \ 1 /' awk '{प्रिंट की लंबाई ($ 1), $ 1}' | सॉर्ट -nr | awk '{print "pushd" $ 2 "; svn cleanup; popd"} "| श


1

अपने समाधान को नष्ट न करें!

.svn फ़ोल्डर में आपके पास एक फ़ाइल होती है जिसे लॉक कहा जाता है यह 0 बाइट्स लंबा है

आप इन सभी फ़ाइलों को अपने समाधान में .svn फ़ोल्डरों से हटा सकते हैं और यह काम करेगा

इसने मेरे मामले में काम किया


यह सबसे सरल उपाय है! मेरे लिए काम किया
नाथन

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

1

फाइलों के इन-प्लेस अनविंडेशन और उसी स्थान पर एक ताजा चेकआउट ने मेरे लिए इस समस्या को हल कर दिया है।

TortoiseSVN में, इन-प्लेस अनर्गल करने के लिए, डायरेक्टरी ट्री में फाइल लिस्ट से वर्क कॉपी की रूट फोल्डर को राइट-ड्रैग करें, और पॉप-अप मेनू से "SVN एक्सपोर्टेड आइटम यहाँ" चुनें। TortoiseSVN नोटिस करता है कि गंतव्य स्रोत के समान है, और काम की नकल को हटाने का सुझाव देता है।

उबाऊ करने के बाद, एक ही फ़ोल्डर में एक नया चेकआउट करें (जिसमें अब आपके पास मौजूद सभी फाइलों की एक बिना कॉपी की नकल है)। TortoiseSVN आपको चेतावनी देगा कि आप एक मौजूदा फ़ोल्डर में देख रहे हैं, लेकिन आप आगे जा सकते हैं।

इसके बाद, बिना किसी अड़चन के क्लीनअप, अपडेट और अन्य ऑपरेशन काम किए। चूंकि उपरोक्त दोनों कदम स्थानीय संशोधनों को संरक्षित करते हैं, इसलिए जानकारी का कोई नुकसान नहीं होना चाहिए (लेकिन इससे पहले काम की प्रतिलिपि का समर्थन करना फिर भी एक अच्छा विचार हो सकता है)।

एक चेतावनी: यदि वर्किंग कॉपी में मिश्रित संस्करण या अनक्मिटेड प्रॉपर्टी में बदलाव होते हैं, तो वह जानकारी खो जाएगी। मेरे लिए, यह एक सामान्य घटना नहीं है, और एक भ्रष्ट कार्य की नकल को देखते हुए या बिना किसी संपत्ति परिवर्तन को खोए हुए, मैं बाद के लिए विकल्प चुनता हूं।


1

मुझे यह समस्या थी कि "क्लीन अप" ने कहां काम किया, लेकिन "अपडेट" विफल होता रहेगा। जो समाधान काम किया गया था वह विंडोज एक्सप्लोरर के माध्यम से फ़ोल्डर को हटाने के लिए था, न कि कछुआ एसवीएन के डिलीट (जो कि रिपॉजिटरी को करने के लिए कुछ के रूप में विलोपन को चिह्नित करता है, और फिर मैंने रिपॉजिटरी से फ़ोल्डर को अनिवार्य रूप से "अपडेट" करने के लिए एक "चेकआउट" किया था)।

O / S डिलीट और SVN डिलीट के बीच अंतर के बारे में अधिक जानकारी यहाँ: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html

विशेष रूप से:

जब आप TortoiseSVN → किसी फ़ाइल को हटाते हैं, तो उसे तुरंत ही आपकी कार्यशील प्रति से हटा दिया जाता है और साथ ही अगले आदेश पर रिपॉजिटरी में हटाए जाने के लिए चिह्नित किया जाता है।

तथा:

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


1

यदि आप लिनक्स पर हैं, तो यह कोशिश करें:

find "/the/path/to/your/directory" -name .svn -type d | xargs chmod 0777 -R

फिर cleanupउस डायरेक्टरी पर कमांड चलाएं , फिर अपडेट करने की कोशिश करें।


1

मैंने अपना मुद्दा ठीक करने के लिए निम्न कार्य किया:

  1. फ़ोल्डर के नाम के सामने एक "_" रखकर अपमानजनक फ़ोल्डर का नाम दिया।
  2. मूल फ़ोल्डर का "क्लीन अप" किया।
  3. इसका नाम वापस मूल नाम के लिए अपमानजनक फ़ोल्डर है।
  4. एक कमिट किया।

1

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


1

सफाई करना

  1. .Svn फ़ोल्डर हटाएं।

  2. रूट फ़ोल्डर में svncheckout करें।

  3. क्लीन अप ऑपरेशन करने की कोशिश करें।

इससे मेरा मसला हल हो गया।

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