संपूर्ण भ्रम विभिन्न शब्दार्थों से उपजा है जो एमएस "बिल्ड नंबर" और विशेष रूप से "संशोधन" के लिए उपयोग करता है। शर्तों का मतलब सिर्फ अलग-अलग चीजों से है।
ज्यादातर लोग (स्वयं शामिल) एक सिमेंटिक वर्जन नंबरिंग स्कीम का उपयोग करते हैं, जहां आपको जब भी किसी कारण से एक नया निर्माण करना होता है तो आपको एक उच्च बीआईआईएलडी नंबर मिलता है। हमारे लिए, एक हॉटफिक्स को केवल एक और कोड परिवर्तन माना जाता है, और प्रत्येक सीआई रन के साथ BUILD भाग स्वचालित रूप से बढ़ जाता है। समान MAJ.MIN.REV वाले मॉड्यूल को विनिमेय माना जाता है, और BUILD आपको बताता है कि सबसे हाल ही में कौन सा है।
फिर भी, वृद्धि का संकेत एक नई स्थायी रिलीज शाखा को दर्शाता है, इसीलिए हम इसे BUILD से पहले रखते हैं। उस दृष्टिकोण का नकारात्मक पक्ष यह है कि हमें घटनाओं का निम्नलिखित क्रम मिल सकता है:
- प्रतिबद्ध संख्या 4711: ऐलिस ने फीचर ए जोड़ा
- CI 1.2.3.100 बिल्ड बनाता है
- प्रतिबद्ध संख्या 4712: बॉब संशोधित सुविधा बी
- प्रतिबद्ध संख्या 4713: ऐलिस फिक्स्ड फ़ीचर ए ("हॉटफ़िक्स")
- CI 1.2.3.101 बिल्ड बनाता है
जैसा कि आप देख सकते हैं, हॉटफ़िक्स केवल अगले बिल्ड में शामिल परिवर्तन नहीं है, बॉब का संशोधन भी उस बिल्ड का हिस्सा बन जाता है। यदि आप वर्तमान शाखा को स्थिर करना चाहते हैं, तो आप मुसीबतों में भाग सकते हैं क्योंकि आप कभी भी यह सुनिश्चित नहीं कर सकते हैं कि बॉब ने बग का एक गुच्छा जोड़ा या नहीं।
MS दोनों शब्दों का अलग-अलग उपयोग करता है। BUILD संख्या स्वचालित रूप से बढ़ाई नहीं जाती है, इसके बजाय इसे कोड की एक विशेष संस्करण के लिए उपयोग किए जाने वाले कोड को फ्रीज करने के लिए एक रिलीज शाखा की तरह माना जा सकता है। समीक्षा उस BUILD शाखा पर लागू अतिरिक्त "गर्म" परिवर्तनों को इंगित करता है। इसलिए अनुक्रम निम्नानुसार होगा:
- प्रतिबद्ध संख्या 4711: ऐलिस ने ट्रंक / मास्टर को एक फीचर जोड़ा
- कार्ल बिल्ड ब्रांच बनाता है
1.2.100
- CI 1.2.100.0 का निर्माण करता है
- प्रतिबद्ध संख्या 4712: ट्रंक / मास्टर में बॉब संशोधित फीचर बी
- प्रतिबद्ध संख्या 4713: एलिस ने
1.2.100
शाखा में सुविधा ए को तय किया
- CI 1.2.100.1 बिल्ड बनाता है
संदर्भ शब्द का उल्लेख हो सकता है
- एक उत्पाद संशोधन (कि ज्यादातर लोग इसका उपयोग कैसे करते हैं)
- एक विशेष दैनिक निर्माण का संशोधन (कि एमएस क्या करता है)
दो प्रक्रियाओं के बीच मुख्य अंतर यह है कि क्या आप CI बिल्ड में हॉटफ़िक्स लागू करने की क्षमता चाहते हैं या नहीं, और इस तरह, शाखा बनाने की प्रक्रिया में किस बिंदु पर है। यह पहलू तब महत्वपूर्ण हो जाता है जब आप सभी परीक्षणों के सफल होने के बाद किसी भी समय किसी विशेष बिल्ड को लेने में सक्षम होना चाहते हैं और उस संस्करण को अपने उत्पाद की अगली आधिकारिक रिलीज़ के लिए बढ़ावा देते हैं।
हमारे मामले में CI टूल एक रिपॉजिटरी टैग बनाता है, इसलिए हमारे पास आवश्यक होने पर उपयोग करने के लिए हमेशा आवश्यक जानकारी होती है। एसवीएन के साथ यह और भी सरल हो जाता है, क्योंकि टैग और शाखाएं बिल्कुल उसी तरह से लागू की जाती हैं - एक टैग के तहत स्थित शाखा से ज्यादा कुछ नहीं है /tags
।
यह सभी देखें
TFS शाखा रणनीति में अक्सर पूछे जाने वाले प्रश्न अनुभाग से :
मुझे पी 1 (हॉटफ़िक्स) टिकट किस शाखा में तय करना चाहिए?
पी 1 को उस शाखा में तय किया जाना चाहिए जो उत्पादन में चल रहे कोड आधार के सबसे करीब है। इस मामले में पी 1 को प्रोडक्ट शाखा में तय किया जाना चाहिए। किसी भी अन्य शाखा में फिक्स को लागू करने और बाद के पुनरावृत्तियों से अर्ध-समाप्त या अनछुए कोड को जारी करने के जोखिम के उत्पादन में परिवर्तन को रोल करके।
अब आप यह तर्क दे सकते हैं कि अगर प्रोडक्ट ब्रांच के खिलाफ सीधे काम करना सुरक्षित है, तो फिर से सोचें, एक P1 जिसे तुरंत ध्यान देने की आवश्यकता है, सिस्टम में एक मौलिक समस्या नहीं होनी चाहिए। मामले में यह एक मूलभूत समस्या है इसे उत्पाद बैकलॉग में जोड़ा जाना चाहिए क्योंकि इसके लिए ग्राहक के साथ आगे के विश्लेषण और चर्चा की आवश्यकता हो सकती है।
एक और अच्छा पढ़ा TFS शाखा गाइड है