तो, मैं इस के साथ पहले से ही परिचित हूँ:
http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.htmlएसवीएन में विक्रेता शाखाओं की शाखाओं को संभालने का सबसे अच्छा तरीका क्या है?
मेरे सवाल यह है कि आप एक विक्रेता शाखा दोनों एक स्थिर रिलीज और किसी अल्फ़ा/बीटा शाखा है कि आप एकीकृत करना चाहते है कि संभाल करते है?
तो, आप कहते हैं कि आप एसवीएन पुस्तक से मूल उदाहरण का पालन करते हैं। आप होगा:
SVN: // स्थानीय होस्ट/घर/SVN/विक्रेता/libcomplex/वर्तमान
SVN: //localhost/home/svn/vendor/libcomplex/1.0
SVN: // स्थानीय होस्ट/घर /svn/vendor/libcomplex/1.1 (वर्तमान के रूप में ही)
अब, का कहना है कि आप अपने खुद के 'calc' अनुप्रयोग के दो संस्करण हैं:
calc
calc (यह अनिवार्य रूप से ट्रंक == calc 2.0 है) -1.0 (जनता को जारी)
मान लें कि कैल्क-1.0 उपयोग libcomplex 1.0 और कैल्क (ट्रंक में) libcomplex 1.1 का उपयोग किया, जो अभी भी विकसित किया जा रहा है।
libcomplex 1.0 में एक बग है और उस बग को ठीक करने के लिए एक नया संस्करण जारी किया गया है: libcomplex 1.0.1। Libcomplex रखरखावकर्ताओं ने इस बगफिक्स को libcomplex 1.1 में भी शामिल किया है।
आप कैल्क 2.0 जारी करने के लिए तैयार नहीं हैं, इसलिए आपको अपनी विक्रेता शाखा में libcomplex 1.0.1 को एकीकृत करने की आवश्यकता है और फिर बग-फ़िक्स रिलीज़ करने के लिए कैल्क-1.0 अपडेट करें।
यह कहां जाता है?
आप इसे svn: // localhost/home/svn/विक्रेता/libcomplex/current पर नहीं डाल सकते क्योंकि 1.1 वर्तमान में वहां रहता है।
क्या आप svn: //localhost/home/svn/vendor/libcomplex/1.0 को svn: //localhost/home/svn/vendor/libcomplex/1.0.1 पर कॉपी करते हैं और फिर नई रिलीज लाते हैं? इस तरह आप 1.0 और 1.0.1 के बीच कैल्क-1.0 के बीच अंतर को मर्ज करने के लिए svn का उपयोग कर सकते हैं।
मेरे पिछले उदाहरण में, मेरे पास मेरी रिलीज के लिए एक शाखा है: कैल्क 1.0। विक्रेता फ़ोल्डर कैल्क के तहत निहित नहीं हैं। क्या आप सुझाव दे रहे हैं कि/विक्रेता को भी ब्रांच किया जाए? यहां स्पष्ट होना उदाहरण है जो मैं वर्णन कर रहा हूं: /विक्रेता/libcomplex/ /कैल्क/ट्रंक/ /कैल्क/शाखाएं/1।0/ आपका सुझाव "वर्तमान" का उपयोग न करने के लिए और केवल फ़ोल्डर संरचनाओं का उपयोग करने के लिए सही ढंग से संस्करणों के बीच परिवर्तन विलय करने की अनुमति नहीं देगा, इस प्रकार उद्देश्य को हराया जाएगा। ट्रंक में परिवर्तन विलय करने की अनुमति देने के लिए आपको इस परिवर्तन इतिहास की आवश्यकता है जहां आपने मूल विक्रेता स्रोत को संशोधित किया है। –
मेरा दृष्टिकोण काम के लिए है जब आप जो भी कर रहे हैं वह रिलीज़ संस्करणों का उपयोग कर रहा है। यदि आप स्रोत को भी संशोधित कर रहे हैं, तो विक्रेता कोड को अपने कोड के रूप में समझने के लिए उपयोगी हो सकता है (यानी विक्रेता को एक अलग फ़ोल्डर के रूप में विक्रेता के बजाय अपनी ट्रंक शाखा में शामिल करें)। हालांकि आपका दृष्टिकोण भी समझ में आता है। विक्रेता/libcomplex/1.0.1 शाखा बनाएं, किसी भी अनुकूलन को मर्ज करें, और विक्रेता/libcomplex/1.0.1 को इंगित करने के लिए कैल्क 1.0 रिलीज़ को अद्यतन करें, फिर कैल्क 1.0.1 जारी करें। जब भी libcomplex 1.1 तैयार होता है, तो अनुकूलन मर्ज करें, calc2.0 बनाएं, और आप जाने के लिए अच्छे हैं। ट्रंक 1.0.1 को इंगित नहीं करता है –