यदि आप इसे वापस मर्ज करने से पहले हमेशा एक सुविधा शाखा सिंक्रनाइज़ करते हैं। आपको वास्तव में --reintegrate
विकल्प का उपयोग क्यों करना है?पुनर्वितरण विकल्प वास्तव में कब आवश्यक है?
सबवर्सन पुस्तक का कहना है:
जब आपके शाखा वापस ट्रंक करने के लिए विलय, हालांकि, अंतर्निहित गणित काफी अलग है। आपकी फीचर शाखा अब डुप्लीकेट ट्रंक परिवर्तनों और निजी शाखा परिवर्तनों का एक मिशमोश है, इसलिए प्रतिलिपि बनाने के लिए संशोधन की कोई साधारण संगत श्रृंखला नहीं है। --reintegrate विकल्प निर्दिष्ट करके, आप सबवर्सन से सावधानीपूर्वक अपनी शाखा में अद्वितीय परिवर्तनों को दोहराने के लिए कह रहे हैं। (और वास्तव में, यह इस नवीनतम शाखा के पेड़ के साथ नवीनतम ट्रंक पेड़ की तुलना द्वारा करता है: जिसके परिणामस्वरूप अंतर वास्तव में अपनी शाखा परिवर्तन है!)
तो --reintegrate
विकल्प केवल परिवर्तन है कि सुविधा के लिए अद्वितीय हैं विलीन हो जाती है डाली। लेकिन यदि आप हमेशा मर्ज करने से पहले सिंक्रनाइज़ करते हैं (जो फीचर शाखा पर किसी भी टकराव से निपटने के लिए एक अनुशंसित अभ्यास है), तो शाखाओं के बीच केवल परिवर्तन ही बदलाव शाखा के लिए अद्वितीय हैं, है ना? और अगर सबवर्सन पहले से ही लक्ष्य शाखा पर मौजूद कोड को मर्ज करने का प्रयास करता है, तो यह कुछ भी नहीं करेगा, है ना?
a blog post में, मार्क Phippard लिखते हैं:
अगर हम उन synched संशोधन शामिल है, तो हम वापस परिवर्तन है कि पहले से ही ट्रंक में मौजूद मर्ज करें। यह अनावश्यक और भ्रमित संघर्ष पैदा करता है।
क्या पुनर्जन्म छोड़ने का एक उदाहरण मुझे अनावश्यक संघर्ष देता है?
मैंने अभी एसवीएन 1.7.0 का उपयोग करके यह परीक्षण किया है और मुझे यह नहीं दिख रहा है। इसके बजाय मैं जो देखता हूं वह एसवीएन स्वचालित रूप से विलय की दिशा के बावजूद संबंधित शाखाओं में मौजूद परिवर्तनों को फ़िल्टर कर रहा है (शाखा या ट्रंक से शाखा में ट्रंक)। क्या इस क्षेत्र में एसवीएन का व्यवहार इस तरह से बदल गया है जो दस्तावेज़ीकरण में प्रतिबिंबित नहीं होता है? – Neutrino
मैंने नेटबीन्स 7.3.1 (जो एसवीएन 1.7 का उपयोग करना चाहिए) के साथ अपना परीक्षण भी किया है, मेरा एसवीएन सर्वर 1.6.17 है और मुझे डुप्लिकेट पंक्तियों में कोई समस्या नहीं है। – betatester07