खेद है कि पहले दिए गए उत्तर के पुनर्मूल्यांकन पर कुछ जगह का उपयोग करने के लिए - लेकिन यह एक ऐसी चीज है जिससे मैं हमेशा परेशान रहता हूं।
मान लीजिए कि मैंने स्थानीय फ़ाइलों को नवीनतम संशोधन में अपडेट किया है, जो 854 है। फिर, मैं एक पुराना संशोधन प्राप्त करना चाहता हूं - कुछ संशोधन से पहले फ़ाइल का संस्करण, संशोधन 851 कहते हैं।
कॉपी काम करेगी:
svn copy -r 851 svn+ssh://<repository URL>/l3toks.dtx ./l3toks.dtx
.. हालाँकि, मुझे रेपो URL के लिए परेशान नहीं किया जा सकता है :)
अद्यतन प्रतीत होता है काम हो सकता है:
svn up -r 851 ./l3toks.dtx
... हालाँकि, यह स्थानीय कॉपी को "नए सिरे से चेक आउट" के रूप में या "ऑनलाइन संशोधन के समान" के रूप में चिह्नित करता है (यानी कछुए / खरगोश खरगोश में आपको एक हरे रंग की ओके चेकमार्क मिलता है) - जिसका अर्थ है कि आप ऐसा नहीं कर सकते svn ci -m "rolled back to r 851"
: बस इसलिए कि स्थानीय subversion
निष्पादन योग्य कोई भी स्थानीय परिवर्तन नहीं देखेगा, और ऑनलाइन रिपॉजिटरी में कुछ भी अपलोड करने के लिए परेशान नहीं होगा।
और, जैसा कि पहले ही उत्तर दिया गया है, रिवर्स मर्ज काम करता है - लेकिन इस मामले में, किसी को शॉर्टकट सिंटैक्स पर भरोसा नहीं करना चाहिए; लेकिन विशेष रूप से राज्य:
svn merge -r HEAD:851 l3toks.dtx
--- Reverse-merging r854 through r852 into 'l3toks.dtx':
U l3toks.dtx
मुझे स्वीकार करना चाहिए - मैं कभी भी वाक्य को " r852 के माध्यम से r852 को फाइल में उलट-पलट कर " समझने के लिए नहीं कहूंगा " बस आपकी फाइल का r851 मिला है, और जो कुछ भी आपके पास पहले था स्थानीय रूप से अधिलेखित है - और यह नवीनतम ऑनलाइन संशोधन के रूप में अलग-अलग चिह्नित है।" आप इसे नए 'रोलबैक' संशोधन के रूप में ऑनलाइन वापस देख सकते हैं , लेकिन मुझे लगता है (और आशा :)) कि यह क्या है :)
इसके बाद, svn diff
यदि हम स्थानीय रूप से सही संशोधन प्राप्त कर लेते हैं, तो एक त्वरित बदलाव के लिए उपयोग कर सकते हैं ; और भी, फ़ाइल को Tortoise / RabbitVCS (जो नवीनतम प्रतिबद्ध संस्करण से अलग है) में लाल विस्मयादिबोधक चिह्न के साथ चिह्नित किया जाएगा, और इसलिए svn ci -m "rolled back to r 851"
इस समय चल सकता है।
यह भी ध्यान दें कि यदि आप, आखिरकार, रिवर्स मर्जिंग के बाद अपना दिमाग बदलते हैं ( यानी आप वैसे भी नवीनतम, HEAD संशोधन पर काम करना चाहते हैं, तो यहां 854 - आपके द्वारा स्थानीय रूप से 851 पर वापस आने के बाद, लेकिन अभी तक रोलबैक नहीं किया है ), आपको उपयोग नहीं करना चाहिए svn up
, क्योंकि यह केवल यह कहेगा कि यह पहले से ही " संशोधन 854 पर " है; इसके बजाय svn revert --recursive .
या इसी तरह का उपयोग करें ...
चीयर्स!
रेफरी: कैसे तोड़फोड़ का उपयोग करके परिवर्तन वापस करें - जैकब राइट - फ्लेक्स, एआईआर, पीएचपी, आदि।
संपादित करें: ... और जाहिर है, बिल्कुल वैसा ही प्रभाव svn merge -r HEAD:851 l3toks.dtx
, जैसा हासिल किया जा सकता है:
svn export -r 851 l3toks.dtx
A l3toks.dtx
Export complete.