प्रति दुर्घटना मैंने दो बार किया क्योंकि मैं दो फाइलें जोड़ना भूल गया था। क्या मैं लॉग से एक विशिष्ट प्रतिबद्धता को हटा सकता हूं?

screenshot of log

मैं कमिट 4 को हटाना चाहता हूं।

14
user142019 10 सितंबर 2011, 16:12

4 जवाब

सबसे बढ़िया उत्तर

सरल उत्तर "नहीं" है, क्योंकि सबवर्सन यह नहीं जानता कि जब आप एक कमिट जोड़ते हैं तो मामले को कैसे हल किया जाए, कोई और अपना चेकआउट अपडेट करता है, और फिर आप इतिहास से कमिट को हटा देते हैं। सबवर्जन स्टोरेज पर सर्जरी से जुड़े जटिल उत्तर हो भी सकते हैं और नहीं भी।

13
millimoose 10 सितंबर 2011, 16:17
  1. AFAICS, आपने r4 को हटाया नहीं, लेकिन r5 के साथ मर्ज किया है, हां?
  2. आम तौर पर, एसवीएन प्रतिबद्ध इतिहास अपरिवर्तनीय है, जैसा कि एसआईआई ने कहा - और यदि आपके पास अधिकार नहीं हैं तो रेपो हटाएं/बनें - आप कुछ भी नहीं कर सकते हैं।

यदि आप वर्तमान रेपो को हटा सकते हैं और नए इतिहास के साथ नया बना सकते हैं, तो आप कोशिश कर सकते हैं:

  • svnadmin dump मानव-पठनीय होने के लिए (मुश्किल से, मुझे कहना है) रिपोजिटरी-डंप, ग्रोक प्रारूप और डंप संपादित करें, रेपो हटाएं, svnadmin load रेपो को फिर से बनाने के लिए
  • एक और विचार है (डंप को संपादित करने के बजाय) एक और एससीएम, जिसमें एसवीएन (एचजी + एमक्यू (हिस्टीडिट) + एचजी-गिट, एफई के लिए एक पुल है, जो आपको रेपो प्राप्त करने और परिवर्तनों को फोल्ड/डिलीट करने की अनुमति देगा)। पुराने भंडार को बदलने के लिए - ऊपर p.2 देखें
5
Anonymous 17 अगस्त 2015, 16:21

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

2
sakra 25 सितंबर 2011, 12:57

क्यों? सबवर्सन को इतिहास रखने दें - यही इसके लिए है। जल्दी और अक्सर चेक इन करें। #4 प्रतिबद्ध मिटाने की कोई आवश्यकता नहीं है।

-1
duffymo 10 सितंबर 2011, 16:15