2010-07-01 9 views
11

मान लीजिए कि मैं संशोधन 50 पर हूं। लेकिन, मैं वापस संशोधन 45 पर वापस लौटना चाहता हूं, और स्थिर संस्करण के रूप में वापस प्रतिबद्ध हूं।मैं पिछली एसवीएन प्रतिबद्धता पर वापस कैसे लौट सकता हूं?

मैं इसे सबसे सरल तरीके से कैसे कर सकता हूं?

  1. यदि मैं एक फ़ाइल के साथ ऐसा करना चाहता हूं तो क्या होगा?
  2. यदि मैं पूरी रिपोजिटरी के साथ ऐसा करना चाहता हूं तो क्या होगा?
+0

की संभावित डुप्लिकेट [पिछले पुनरीक्षण में एक SVN फ़ोल्डर वापस लाएं] (http://stackoverflow.com/questions/2324999/revert-a-svn-folder-to-a- है पिछले संशोधन)। ध्यान दें कि यदि लक्ष्य एक फ़ाइल, फ़ोल्डर, या भंडार की जड़ है तो svn परवाह नहीं है। – sbi

उत्तर

23

मैं मुझे यकीन नहीं है कि "स्थिर संस्करण के रूप में वापस प्रतिबद्ध" के आधार पर आपका क्या मतलब है, लेकिन आप जो पूरा करने की कोशिश कर रहे हैं उसके आधार पर मैं अनुशंसा करता हूं:

SVN अद्यतन -r45
यह संशोधन 45

या कम से अपने काम की नकल rebase देगा:

SVN मर्ज -c -50, -49, -48, -47, -46
यह 45 से 50 के बीच सभी परिवर्तनों को हटाकर आपकी कार्यशील प्रतिलिपि (रिवर्स-विलय करके) अपडेट करेगा। अब यदि आप परिवर्तन करते हैं और प्रतिबद्ध करते हैं, तो ऐसा होगा जैसे आपने भंडार से 46-50 हटा दिए हैं और HEAD संशोधन किया है (51?) आर 45 + आपका परिवर्तन होना।

+0

, svn अद्यतन -r PREV – diewland

4

Reverse merge उन संशोधनों को जिन्हें आप पूर्ववत करना चाहते हैं। यह एक या एकाधिक फाइलों पर किया जा सकता है। विलय विलय करके, आपकी कार्यशील प्रति उस संशोधन के बिना राज्य में बदल जाती है, जिसे आप तब कर सकते हैं।

-2

मुझे लगता है कि एक आसान तरीका यह होना चाहिए:

  • चेकआउट संशोधन 45 एक अस्थायी निर्देशिका
  • अपने कार्यशील निर्देशिका के लिए एक कॉपी या फ़ाइलों alle को
  • प्रतिबद्ध
+0

देखें "इसके बजाय पैच का उपयोग क्यों नहीं करें?" [एसवीएन पुस्तक] में (http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.branchemerge.basicmerging.stayinsync) आपको मैन्युअल विलय से क्यों बचना चाहिए। – sbi

+0

संकेत के लिए धन्यवाद! पिछले संस्करण के लिए – splash

0

आप बस

svn up -r 45 

का उपयोग कर संशोधन के लिए एक अद्यतन कर सकते हैं लेकिन यह नहीं दूँगी आप परिवर्तन हो SVN आप की जरूरत के रूप में अपने काम की नकल अद्यतन करने के लिए सिर के लिए इससे पहले कि आप प्रतिबद्ध कर सकते हैं। क्या आप के बजाय कर सकते हैं

svn merge -r HEAD:45 yourFile 
svn ci yourFile -m "Reverting back to rev 45" 
संबंधित मुद्दे