2008-10-20 10 views
5

यदि हमें एक बग पैच जारी करने की आवश्यकता है जिसमें वर्तमान विकास शामिल नहीं है, या उनके वर्तमान संस्करण से कोई भी परिवर्तन, प्रक्रिया को सुरक्षित और कम करने के लिए क्या किया जाना चाहिए भूमि के ऊपर?स्रोत नियंत्रण और बग फिक्स के लिए सर्वोत्तम अभ्यास

हम वर्तमान में विजुअल स्टूडियो 2008 में विकसित होने वाली छोटी (3 डेवलपर्स) टीम में हमारे स्रोत नियंत्रण के लिए सबवर्जन का उपयोग कर रहे हैं। हम उम्मीद करते हैं कि टीम अगले वर्ष में 8 डेवलपर्स के लिए समूह कर सकती है, और किसी भी पिछले रिलीज समर्थन के लिए अधिक जटिल हो जाओ। जबकि ज्यादातर ग्राहक वर्तमान रिलीज पर हैं, कुछ आगे पीछे हैं।

उत्तर

6

स्रोत नियंत्रण इस सुंदरता को आसानी से संभाल सकता है, और इसके लिए डिज़ाइन किया गया था।

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

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

टिप्पणी में बग संख्या डालना न भूलें, क्योंकि यह आसान कामों का ट्रैक रखेगा।

+0

इस तरह हम इसे करते हैं। बहुत अच्छा काम करता है! –

3

कैसे: प्रति प्रमुख शाखा, बग फिक्स के साथ आवश्यकतानुसार शाखा (एसएस) पर लागू होती है, और ट्रंक पर वापस लागू (या विलय) भी लागू होती है।

0

जहां मैं काम करता हूं, हमारे पास कई परियोजनाएं एक साथ काम कर रही हैं। इस समस्या से बचने के लिए, हमारे पास स्रोत कोड के कई रूप हैं। उदाहरण के लिए, पहली रिलीज संस्करण 1.0 है। हम भविष्य के विकास के लिए, Variant 2.0, इस रिलीज की एक शाखा बनाते हैं। अगर हमें एक बग फिक्स करने की ज़रूरत है, तो हम इसे मुख्य संस्करण पर करते हैं, जो वर्तमान में 1.0 है और इसे रिलीज़ कर सकता है। जब वेरिएंट 2.0 उत्पादन में जाने के लिए तैयार है, तो हम इसे मुख्य शाखा (जो इस मामले में 1.1) पर विलय करते हैं और यह नया मुख्य ट्रंक बन जाता है। एक बिंदु पर, हमारे पास एक ही समय में 4 शाखाएं चल रही थीं।

कोड विलय करने में समय लग सकता है, और आपको सावधान रहना होगा कि विलय के दौरान नई बग पेश न करें, लेकिन यदि आपके पास एक सभ्य कोड तुलना टूल उपलब्ध है, तो यह बहुत बुरा नहीं होना चाहिए। हमने 10,000 फ़ाइल स्रोत निर्देशिका पर तुलना से परे कुछ समय पहले विलय किया था, और इसमें एक सुबह लग गई थी।

+0

मुझे लगता है कि ट्रंक पर विकास और प्रत्येक मुख्य संस्करण के लिए ट्रंक से एक शाखा, और आवश्यकता होने पर उप-शाखाओं की तुलना में अधिक जटिल हो सकता है। –

+0

लेकिन किसी बिंदु पर आपको एक आम बिंदु होना चाहिए। लगातार मुख्य ट्रंक से बाहर निकलने से, यह देखना आसान हो जाता है कि क्या बदल गया और सभी शाखाओं में क्या आम है। – Elie