2010-05-24 10 views
5

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

इसके विपरीत करने का अनुशंसित तरीका क्या है?
क्या मैं अभी पिछले संस्करण पर वापस लौट सकता हूं? या क्या मुझे उस पिछले संस्करण में एक नए फ़ोल्डर में चेकआउट करने और पुराने फ़ोल्डर को हटाने की आवश्यकता है?

+0

संभावित डुप्लिकेट [सबवर्सन में फ़ाइल को अनावृत करने का एक आसान तरीका क्या है?] (Http://stackoverflow.com/questions/497670/whats-a-simple-way-to-undelete-a-file-in- उपversण) – gbjbaanb

उत्तर

8
  1. अद्यतन सिर संस्करण
  2. चेक बाहर एक नया फ़ोल्डर
  3. SVN कॉपी headVersionFolder को priorVersionFolder से हटाए गए फ़ोल्डर
  4. headVersionFolder
  5. में जोड़े से पहले संस्करण के लिए अपने काम की नकल एसवीएन Commit headVersionFolder
+2

यह अनुशंसित विधि नहीं है। कॉपी @REV का उपयोग करना है क्योंकि आप ट्रैक कर सकते हैं कि सामान कहां से आते हैं। फ़ाइल सिस्टम पर फ़ाइलों को मैन्युअल रूप से कॉपी करने से इतिहास को मिटा दिया जाता है। –

+1

यदि आप "एसवीएन कॉपी" का उपयोग करते हैं, तो यह उस प्रतिलिपि को सही ढंग से रिकॉर्ड करेगा जो प्रतिलिपि बनाई गई थी। मैंने अभी उपरोक्त वर्णन का उपयोग करके इसका परीक्षण किया है, और TortoiseSvn में लॉग अब दिखाता है कि निर्देशिका को संशोधन 1 (जहां यह मौजूद है) से कॉपी किया गया था। –

1

आप इसे वापस रेपो में जोड़ने के लिए हटाने से पहले संशोधन से एक प्रतिलिपि कर सकते हैं।

उनका svn में वास्तविक 'undelete' विकल्प नहीं है।

0
  1. एल देखें रेपो के नवीनतम संस्करण को एक नई निर्देशिका में।
  2. अपने विलोपन से पहले संस्करण में विलय करने के लिए कछुए का उपयोग करें।
  3. विलय के परिणामों में जांचें।

अधिक जानकारी के लिए the Subversion book देखें।

5

जब से तुम प्रयोग कर रहे हैं TortoiseSVN उल्लेख किया:

एक TortoiseSVN करो | कार्य निर्देशिका पर लॉग दिखाएँ। चेकइन पर राइट क्लिक करें जहां आपने फ़ोल्डर हटा दिया था। इस संशोधन से परिवर्तनों को वापस लेना चुनें।

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

मुझे यकीन नहीं है कि यह विधि इतिहास को संरक्षित रखती है या नहीं।

+0

यह इतिहास को संरक्षित करने के लिए प्रतीत होता है। – Johnny

0

क्या आपने TortoiseSVN दस्तावेज़ों को आजमाया है?

इसे Rollback revisions के रूप में वर्णित किया गया है।

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

0
कमांड लाइन उत्साही के लिए

:

  • पहले खोजने के संशोधन संख्या जहां अपने नष्ट हुआ:

    svn log -v http://svnserver/path/to/folderContainingDeletedFolder 
    

आप पाते हैं कि निर्देशिका संशोधन 999 (Btw में नष्ट कर दिया गया कहते हैं: आप इसे आसान Revis आसानी से खोज सकते SVN रेपो ब्राउज़र के साथ आयन संख्या)

  • संशोधन शून्य से 1

    svn copy http://svnserver/path/to/folderContainingDeletedFolder/[email protected] http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder -m "undeleted folder" 
    

देखा कार्य पूरा हो जाने से फ़ोल्डर की प्रतिलिपि!

संबंधित मुद्दे