svn - सकत - हवाई जहाज में ले जाने वाले सामान




एसवीएन मर्ज अतिरिक्त सामान मर्ज (2)

यहां पर जाने के लिए वास्तव में पर्याप्त जानकारी नहीं है

svn merge -r 67212:67213 https://my.svn.repository/trunk .

रिपॉजिटरी पर फ़ोल्डर / ट्रंक में संशोधन 67212 में परिवर्तित की गई किसी भी फाइल को मर्ज करेगा और उन्हें अपनी वर्तमान कार्य निर्देशिका में मर्ज कर देगा। यदि तुम करो:

svn log -r 67212

यह किस फाइल को दिखाया गया है? मर्ज केवल पहली तर्क से बदलाव लाएगा, और उन्हें दूसरे पर लागू करेगा यह पहली तर्क में सर्वर पर वापस अपलोड नहीं करता है।

अगर यह आपके प्रश्न का उत्तर नहीं देता है, तो क्या आप वास्तव में क्या हो रहा है, इसके बारे में अधिक विवरण पोस्ट कर सकते हैं?

मैंने एक तरह से कुछ का उपयोग करके मर्ज किया था:

svn merge -r 67212:67213 https://my.svn.repository/trunk .

मेरे पास केवल 2 फ़ाइलें थी, जिनमें से एक एक सरल ChangeLog मेरे ChangeLog परिवर्तनों को मर्ज करने की बजाए, यह वास्तव में मेरा प्लस कुछ पुराने वाले को खींचा गया था जो कि गंतव्य ChangeLog में नहीं थे मैंने देखा कि जब मैंने निष्पादित किया था, तब एक विवाद हुआ था, तो मैंने बदलाव लाग को अपडेट किया, और फिर भी एक संघर्ष था (और मैंने वास्तविक विलय के दौरान संघर्ष देखा था)।

मैं बाद में उस फ़ाइल पर फ़र्क पड़ा जिस से मैं मर्ज कर रहा था:

svn diff -r 67212:67213 ChangeLog

और मैं देखता हूं कि मैंने जो बदलाव किए थे, इसलिए मुझे पता है कि किसी भी तरह से अतिरिक्त बदलाव नहीं हुए।

इससे मुझे चिंता हो रही है कि मर्ज वास्तव में सिर्फ मैं जो बदल रहा हूं, वह नहीं ले रहा है, जो मुझे उम्मीद थी। क्या कोई समझ सकता है कि क्या हुआ?

अद्यतन: NilObject के जवाब में:

इसलिए, मेरे पास 2 फाइलें बदली हैं, केवल चेंगलॉग प्रासंगिक है, दूसरे मर्ज किए गए ठीक। जब मैं अपने नियमित ट्रंक चेकआउट पर जाता हूं, मैं ऊपर diff कमांड करता हूं और देखें:

Index: ChangeLog
===================================================================
--- ChangeLog   (revision 67212)
+++ ChangeLog   (revision 67213)
@@ -1,3 +1,7 @@
+2008-08-06  Mike Stone  <myemail>
+
+   * changed_file: Details.
+
 2008-08-06  Someone Else  <their_email>

    * theirChanges: Details.

पिछले परिवर्तनों के विलय के बाद, ChangeLog का अंतर इस तरह दिखता है:

Index: ChangeLog
===================================================================
--- ChangeLog   (revision 67215)
+++ ChangeLog   (working copy)
@@ -1,3 +1,14 @@
+<<<<<<< .working
+=======
+2008-08-06  Mike Stone  <myemail>
+
+   * changed_file: Details.
+
+2008-08-06  Someone Else  <their_email>
+
+   * theirChanges: Details.
+
+>>>>>>> .merge-right.r67213
 2008-08-05  Someone Else2  <their2_email>

    * olderChange: Details.

ध्यान दें कि जो प्रवेश गलत तरीके से खींच लिया गया था उस फ़ाइल में नहीं था जिसे मैं इसे मर्ज कर रहा हूं, लेकिन फिर भी यह मेरे परिवर्तनों में से एक नहीं था और इसे वैसे भी विलय नहीं किया जाना चाहिए था यह तय करना आसान था (अतिरिक्त बदलावों को हटाएं जो मेरे परिवर्तन का हिस्सा नहीं थे), लेकिन यह अभी भी SVN में स्वचालित रूप से विलय के बारे में चिंता करता है SVN


यह केवल संघर्षों के साथ होता है - मूलतः एसटीएन ने बदलाव को मर्ज करने की कोशिश की, लेकिन (मोटे तौर पर बोलते हुए) ने इस प्रकार के परिवर्तन को देखा:

जोड़ना

2008-08-06  Mike Stone  <myemail>

* changed_file: Details.

से पहले

2008-08-06  Someone Else  <their_email>

और यह मर्ज करने के दौरान किसी और को नहीं मिल सका, इसलिए संघर्ष में डालते समय संदर्भ के लिए थोड़ी चक्की लगाई। अगर यह एक गैर-विवादित विलय था, केवल आपके द्वारा अपेक्षित बदलाव लागू होते।







merge