के साथ सबवर्सन का उपयोग करते समय हम स्रोत नियंत्रण के लिए सबवर्जन का उपयोग करते हैं, लेकिन हमारे रिलीज़ के लिए विलय करने वाले सभी काम मैन्युअल रूप से किए जाते हैं। हम साल में कई बार रिलीज करते हैं, इसलिए प्रत्येक रिलीज के लिए एक शाखा बनाएं। पूर्व शाखाओं के सभी कामों को इसे बाद में बनाना चाहिए। बाद की शाखाओं पर कार्य इसे पहले के रूप में नहीं बनाना चाहिए (यह हमारे अनुबंधों में है)। मेरा मानना है कि इसे प्रोमोशनल मॉडल के रूप में जाना जाता है।प्रोमोशनल मॉडल
मुझे लगता है कि निम्नलिखित चित्र हमारे वांछित वर्कफ़्लो को सर्वोत्तम रूप से दिखाते हैं, जब भी नई रिलीज पर काम शुरू होता है, और शाखाओं को पहले की शाखाओं से बाद में बदलते हुए बदलते हैं।
| 1 | |\ | \ | 2 3 | |\| 4 | | |\ 5 | \ | 6 | | | 7 |\|\| | |\| 8 9 |\ | | | \ |\| | 10 x |\| | | |\| | | | a b c d
- इस मॉडल काम सुचारू रूप से एक सार्थक ट्रंक की कमी के बावजूद सबवर्सन का उपयोग कर सकते हैं?
- क्या पूर्व शाखाओं के बाद के संस्करणों के अपडेट के लिए स्वचालित मर्ज ट्रैकिंग कार्य स्वचालित होगा?
- क्या किसी शाखा को बंद/हटा/अनदेखा करना ठीक है (इस उदाहरण में पुनर्निर्मित किए बिना शाखा 'ए' रिलीज करना ठीक है?
- क्या प्रत्येक रिलीज शाखा से फीचर शाखाएं बनाना ठीक होगा, और इनके लिए ट्रैकिंग कार्य मर्ज करना होगा? (वे अनुशंसित निर्माण/विलय/पुन: वर्गीकृत मॉडल का पालन करेंगे।)
संपादित करें - अधिक जानकारी जोड़ें।
पारंपरिक अस्थिर ट्रंक मॉडल उपयुक्त नहीं हो सकता है, निम्न आरेख द्वारा चित्रित किया गया है। प्रत्येक रिलीज के लिए सुविधाएं रिलीज के क्रम में जरूरी नहीं हैं (कुछ ग्राहक आवश्यकताओं की पुष्टि करने में धीमे हो सकते हैं)। हम जितनी जल्दी हो सके पूर्व शाखाओं से बाद में परिवर्तनों को प्रसारित करना चाहते हैं।
a | 1 | b|\ a | \ | 2 3 | | | 4 | b/|c | /5 | | | 6 7 | | b c a
इस मामले में, हम सुविधा 2 शाखा ख में (शाखा एक में पूरा) चाहते हैं, लेकिन इस के रूप में एक बच्चे के लिए माता पिता के मर्ज, और इसलिए सबवर्सन द्वारा समर्थित नहीं है, यह किया जाना होगा मैन्युअल रूप से। इसी प्रकार, फीचर 6 को दो बार मैन्युअल रूप से विलय करना होगा। मैं स्वचालित रूप से ट्रैक किए गए विलय की तुलना में अपेक्षाकृत धीमी और त्रुटि-प्रवण प्रक्रिया होने का अनुमान लगाता हूं।
अच्छा जवाब। मैं देख सकता हूं कि ट्रेडऑफ यह है कि आपके मॉडल में विलय को दोहराने की आवश्यकता हो सकती है, उदाहरण के लिए ट्रंक में आने वाले बगफिक्स को सभी खुली रिलीज शाखाओं में विलय किया जाना चाहिए। अगर उनमें से एक चूक गया है, तो बगफिक्स रिलीज से चूक जाएगा। पदोन्नति मॉडल के साथ ऐसा लगता है कि इन सुधारों को खोने का कोई मौका नहीं है, इसलिए कम मैन्युअल काम की आवश्यकता होगी। हालांकि ऐसा लगता है कि मेरा मॉडल एसवीएन के आराम क्षेत्र से अब तक चलता है कि यह अलार्म घंटी बंद कर रहा है, इसलिए मुझे इसके साथ हमारे स्रोत कोड को सुरक्षित रखने में सुरक्षित महसूस नहीं होता है। मैं इसे टीम में डाल दूंगा। धन्यवाद! –