मैं उन प्रभावी तरीकों को इकट्ठा करने की कोशिश कर रहा हूं जो दूसरों ने निम्नलिखित समस्या को हल किया है। काम के दौरान हमें एक सॉफ्टवेयर पैच (एंड-यूज़र सिस्टम पर स्थापित होने के लिए) जारी करने के लिए मजबूर किया गया है जो हम केवल एक विशिष्ट ग्राहक को देखना चाहते हैं। कस्टम कोड अपने स्वयं के स्रोत-नियंत्रण शाखा में है। समस्या यह है कि सिंक में रखने के लिए हमारे पास दो समानांतर कोड लाइनें (और स्क्रिप्ट का निर्माण) हैं, और हर बार जब हम मूल कोड को पैच करते हैं तो हमें ग्राहक-विशिष्ट कोड को पैच और टेस्ट करना पड़ता है।
मैं उत्सुक हूं, अन्य संगठन इस परिदृश्य को कैसे संभालते हैं? हम व्यावसायिक समाधानों के लिए खुले हैं, न कि केवल तकनीकी (स्रोत-नियंत्रण संबंधी) वाले। उदाहरण के लिए, हमने उस शाखा पर अद्यतन प्राप्त नहीं कर सकने वाले ग्राहक के बारे में बात की है।
हमारी ब्रांचिंग रणनीति इस तरह है ( विजुअल स्टूडियो टीएफएस ब्रांचिंग गाइड पर आधारित है , हालांकि हम इसके लिए सबवर्सन का उपयोग कर रहे हैं)
svn
मतलब है कि वे आपके सामान्य वर्कफ़्लो को अव्यवस्थित नहीं करते हैं। यदि पैच कतारें ऐसी लगती हैं कि वे उपयोगी हो सकती हैं, तो आप उन्हें git-svn या hgsubversion का उपयोग करके आज़मा सकते हैं । एक DVCS सामने के छोर का उपयोग कर एक मुश्किल वर्कफ़्लो को सुचारू करने के लिए, svn
यहां तक कि लोगों को DVCS होलसेल में जाने पर विचार करने के लिए प्रोत्साहित किया जा सकता है, अन्य सभी लाभ प्राप्त करने के लिए।
hg
याgit
मैं आपको सुझाव दे सकता हूं कि आप पैच क्यू ( मर्क्यूरियल क्यूज़ एक्सटेंशन या स्टैक्ड गिट ) का उपयोग कर रहे हैं, लेकिन मुझे नहीं पता कि क्या टीएफएस में भी ऐसा ही कुछ है।