svn - पेड़ों को "पिछले संशोधन संख्या जिस पर दो पेड़ सिंक्रनाइज़ किए गए" मर्ज कर रहे हैं?




merge version-control (2)

मुझे समझ में नहीं आता है कि आप विभिन्न पेड़ विकल्पों को क्यों मर्ज करना चाहते हैं तस्वीर के अनुसार, आप स्वत: पुन: एकीकृत मर्ज का उपयोग करना चाहिए। TortoiseSVN मैनुअल देखें | संशोधन की एक श्रेणी को मर्ज करना

सिर पर अपने ट्रंक की कार्यशील प्रतिलिपि का उपयोग करें और विकल्पों का चयन करें, संशोधनों की एक श्रृंखला को मिलाएं और अगला-अगला-मर्ज करें पर क्लिक करें। शाखा से ट्रंक के मर्ज को स्वचालित रूप से पूर्ण होना चाहिए।

विलय के बारे में TortoiseSVN दस्तावेज़ में , "दो अलग-अलग पेड़ों के विलय" के लिए निर्देश निम्न (जोर खान) को बताते हैं:

दोनों संशोधन केंद्र से और संशोधन करने के लिए , अंतिम संशोधन संख्या दर्ज करें जिस पर दो पेड़ सिंक्रनाइज़ किए गए थे

क्या ये सही है? त्रि - आयामी यह बेमतलब का लगता है। इस उदाहरण का उदाहरण लें जिसमें हम संशोधन 105 में "ट्रंक" में "शाखा" को एकजुट करना चाहते हैं:

यदि शाखा के बाद ट्रंक के लिए कुछ भी नहीं किया गया है (यानी यदि संशोधन 101 अस्तित्व में नहीं था), तो हम ट्रंक हेड से (जो 100 संशोधन होगा) शाखा हेड (संशोधन 105) में विलय करेंगे। समझ में आता है।

लेकिन 101 मौजूद है डॉक्स का कहना है कि हमें पिछले संशोधन संख्या में ट्रंक से विलय होना चाहिए, जिस पर दो पेड़ सिंक्रनाइज़ किए गए थे (यानी 100 में संशोधन करता है, जो कुल अर्थ देता है) ... उस अंतिम संशोधन संख्या पर जिस पर दो पेड़ सिंक्रनाइज़ किए गए थे ... कौन क्या है?

  • 102? (नहीं, यह ट्रंक के साथ सिंक्रनाइज़ेशन से बाहर है)
  • 100? (नहीं, यह शाखा पर भी नहीं है)
  • क्या यह वास्तव में 105 नहीं होना चाहिए? यह केवल एक ही लगता है जो समझ में आता है, लेकिन मेरे लिए यह डॉक्स के विपरीत है।

मुझे यहां क्या समझ नहीं आ रहा है? क्या दस्तावेज़ सही है? गुमराह करने वाले? गलत?


मैं जीआईटी-स्टाइल शाखाओं के लिए एसवीएन का उपयोग नहीं करने की सलाह देता हूं जो मुझे लगता है कि आप करने की कोशिश कर रहे हैं, सिर्फ शाखाओं का उपयोग करें यदि आपके पास इसके अच्छे कारण हैं (जैसे कि उत्पादन और विकास शाखाओं या कुछ विशेषता जो कि विकसित करने में अधिक समय लगेगा , और दूसरों को अपना काम करने से रोकता है)।

सिर्फ इसलिए कि svn पूरी तरह से फ़ोल्डर्स कॉपी-पेस्ट करता है, सिर्फ जीआईटी जैसे परिवर्तनों को रखने के बजाय, उदाहरण के लिए।

मैंने अपनी परियोजनाओं पर रोजाना आधार पर 4 एसएसडी ड्राइव मर्ज किए हैं ...

आपको कछुए एसवीएन और उनके दस्तावेजों पर भरोसा करने की ज़रूरत नहीं है, कछुए एसवीएन केवल एसवीएन के लिए एक GUI है।

इसलिए मूल रूप से एसवीएन में, शाखा / टैग या जो भी हो, इसमें हमेशा कोई भी अंतर नहीं होता है, इसलिए आईएमएचओ, कछुए एसवीएन दस्तावेज गुमराह कर रहे हैं, कोई फर्क नहीं है अगर आप शाखा को ट्रंक में विलय कर रहे हैं, या इसके विपरीत।

यह यह भी निर्भर करता है कि आपके पास कौन सी एसवीएन के अंतर्निहित संस्करण हैं, जो संस्करण हैं जो कि svn 1.7 या इसके बाद के संस्करण पर भरोसा करते हैं।

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

 svn merge ^/branch/branch_name

और इसके बाद शाखा को हटा दें ...

कछुआ एसवीएन आपको कंसोल में भी एस एन वी की अनुमति देता है, बस इसे संस्थापन के लिए पुन: प्रारंभ करें, और svn कमांड लाइन सुविधा को सक्षम करें।





tortoisesvn