2009-01-01 8 views
7

स्रोत नियंत्रण का उपयोग करते समय एक सामान्य परिदृश्य संस्करण वाली रिलीज शाखाओं के साथ एक विकास शाखा है। हम सीवीएस का उपयोग करते हैं, हेड को विकास शाखा के रूप में, और नाम की एक शाखा एक उत्पाद की वर्तमान रिलीज के लिए रिलीज -6-2।एकाधिक शाखाओं में स्रोत नियंत्रण में परिवर्तन करने का व्यावहारिक तरीका

नई सुविधाओं का विकास केवल विकास शाखा में जाता है, लेकिन कभी-कभी बग फिक्स को विकास शाखा और वर्तमान रिलीज शाखा दोनों में जांचना पड़ता है। यह कभी-कभी काफी कठिन हो सकता है, इसलिए मैं इसे पूरा करने के व्यावहारिक तरीकों की तलाश में हूं।

जब एक फ़ाइल को चालू करने के लिए दो शाखाओं पर सिंक किया जाता है, तो मैं विशेष रूप से त्वरित "इन शाखाओं को प्रतिबद्ध" समाधान की तलाश में हूं।

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

उत्तर

9

अपनी पुरानी रिलीज शाखा में आवश्यक है। फिर अगली रिलीज शाखा में परिवर्तन को मर्ज करें और तब तक जब तक आप अंतिम रिलीज शाखा से हेड तक विलय न करें।

कहें कि आपके उत्पाद का सबसे पुराना संस्करण 1.0 है और आपके पास 1.1 और 1.5 रिलीज़ भी हैं। अगली रिलीज के लिए नई विशेषताएं हेड में जोड़ दी जा रही हैं। यदि 1.0 में कोई बग पाया जाता है, तो आप 1.0 शाखा में फिक्स लागू करते हैं। 1.0 से 1.1 शाखा में विलय करें। 1.1 से 1.5 शाखा में विलय करें, और अंततः 1.5 शाखा से हेड तक विलय करें।

शाखा से शाखा में विलय प्रत्येक शाखा में मैन्युअल रूप से ठीक करने के लिए बेहतर है।

सीवीएस के साथ आपको मैन्युअल रूप से ट्रैक करना होगा कि कौन से संस्करण विलय किए गए हैं, ताकि जब आप अपना अगला विलय करते हैं तो आप वही संशोधन शामिल नहीं करते हैं।

यदि आप सबवर्सन का उपयोग करने के लिए बदलते हैं, तो शाखा से शाखा में विलय करना आसान है। ग्रहण का उपवर्तन उपकरण ट्रैक करेगा कि आपने पहले क्या विलय किए हैं, दो शाखाओं के बीच बार-बार विलय करने के कार्य को सरल बनाते हुए।

सीवीएस से सबवर्जन में बदलना आसान है (आईएसएच)। आप इस तरह के कदम बनाने वाले पहले व्यक्ति नहीं होंगे।

4

awalshe की तरह कहा, शाखाओं के बीच विलय करना बेहतर है। शाखा में

- टैग (PRE_FOO) बदलने से पहले, परिवर्तन करते हैं और परिवर्तन (POST_FOO) के बाद के लिए प्रतिबद्ध, टैग: किसी मर्ज चेरी लेने के लिए, विधि Pragmatic Version Control using CVS में वर्णित बहुत अच्छा है। फिर, ट्रंक में, टैग का उपयोग विलय:

cvs up -j PRE_FOO -j POST_FOO 

शाखाओं के बीच विलय बहुत आसान है और SVN में सुरक्षित है, और यह SVN के लिए अपने पूरे सीवीएस इतिहास कन्वर्ट करने के लिए तुच्छ है - cvs2svn देखते हैं। आपको या तो एसवीएन 1.5 का उपयोग करना चाहिए, या - पहले एसवीएन संस्करणों के साथ - svnmerge

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^