मुझे लगता है कि ओपी का दूसरा मुद्दा एक SVN बग कि SVN 1.7 में तय किया गया था के कारण होता है। आप एक निर्देशिका संरचना (स्थानांतरित करें, नाम बदलें, हटाएं) को बदलें और इसे प्रतिबद्ध करें, लेकिन svn diff
का उपयोग करते समय, पैच "कुछ भी नहीं" लगता है।
निर्देशिकाओं को हटाने के दौरान मुझे यह समस्या थी और लक्षण समान हैं इसलिए मुझे लगता है कि हम एक ही "रूट बग" का अनुभव कर रहे हैं। मेरे लिए, svn 1.7 को अद्यतन करने से इसे हल किया गया, क्योंकि svn 1.7 diffs (पैच) को अलग-अलग उत्पन्न करता है।
svn diff
के कुछ संस्करण diff में स्थानांतरित/पुनर्नामित/हटाए गए फ़ाइलों को नहीं डालते हैं!
देखें: http://svn.haxx.se/dev/archive-2004-03/0333.shtml। एसवीएन डीवी सूची से यह संग्रहीत ईमेल दिखाता है कि देवताओं ने खुद को इस समस्या की पहचान की, एक दशक पहले 1.0.1 जारी होने से कुछ समय पहले। यदि आप धागे का पालन करते हैं, तो वे इसे ठीक करने के लिए काफी दृढ़ लगते थे, लेकिन 1.6 भी diff से सामान छोड़ रहा था। मुझे 1.7 पर अपडेट करना पड़ा।
मूल रूप से, अगर SVN < 1.7 पाया है कि एक निर्देशिका था svn delete
'घ, यह recurse और बच्चों को संसाधित नहीं होता, यह सिर्फ वहाँ बंद कर देंगे और न diff में है कि पेड़ के नीचे कुछ भी डाल दिया। यह वही नहीं है जो हम चाहते हैं, हम सभी बच्चों के लिए स्पष्ट रूप से हटाना चाहते हैं, ताकि दूसरे उत्तर में वर्णित पैच, खाली फ़ाइलों और निर्देशिकाओं को -E के माध्यम से हटा सके। यदि पैच पैच में नहीं है तो पैच कुछ भी नहीं कर सकता है।
svn 1 का उपयोग करना।7 मैंने एक समान अंतर किया जैसा मैंने पहले किया था लेकिन हटाए गए निर्देशिका के तहत प्रत्येक फ़ाइल स्पष्ट रूप से पैच में थी क्योंकि सभी लाइनें हटा दी गई थीं (खाली हो रही थी), और फिर patch
/quilt
ने फ़ाइलों और फ़ोल्डर्स को सफलतापूर्वक हटा दिया। मुझे लगता है कि चलने या नाम बदलने के साथ आपके मामले में कुछ समान होने की जरूरत है।
गोचस: 1.7 तक अपग्रेड करने से आपकी कार्यशील प्रतियां बेकार हो जाएंगी।
सुनिश्चित करें कि आप अपडेट करने से पहले अपने बदलाव करते हैं। फिर आपको सब कुछ फिर से जांचना होगा।
संपादित करें: एसवीएन 1.7 क्लाइंट मरम्मत करने में सक्षम हो सकता है लेकिन यदि यह आपको फिर से चेकआउट करने की आवश्यकता नहीं हो सकती है। बस जागरूक रहें ताकि आप काम न खोएं।
स्रोत
2015-06-02 23:24:35
क्या आपने उस सामग्री को चेक-इन किया था जिस पर आपने पैच लगाया था? – JVerstry
@JVerstry मैं आपके प्रश्न को काफी समझ नहीं पा रहा हूं। मैंने svn repo की एक अलग प्रतिलिपि की जांच की और यह जांचने के लिए पैच लगाने की कोशिश की कि यह काम करता है या नहीं। – Nufail
जब आप पैच लागू करते हैं, तो जानकारी केवल छिपी हुई .svn फ़ाइलों में पंजीकृत होती है। हालांकि, इस svn repo की विभिन्न प्रतिलिपि में चेक-इन करने के बाद, केवल एक फ़ाइल हटा दी जाएगी। – JVerstry