संस्करण नियंत्रण (मिथ्या नाम: स्रोत नियंत्रण) का विचार आपको इतिहास के माध्यम से वापस रोल करने, परिवर्तनों के प्रभाव को पुनर्प्राप्त करने, परिवर्तन देखने और क्यों बनाया गया है। यह आवश्यकताओं की एक श्रेणी है, जिनमें से कुछ को बाइनरी चीज़ों की आवश्यकता होती है, जिनमें से कुछ की आवश्यकता नहीं है।
उदाहरण: एम्बेडेड फर्मवेयर के काम के लिए, आपके पास आम तौर पर एक पूरा टूलचैन होगा: या तो एक मालिकाना संकलक जिसमें बहुत पैसा खर्च होता है, या जीसीसी के कुछ संस्करण। शिपिंग निष्पादन योग्य प्राप्त करने के लिए आपको टूलचिन के साथ-साथ स्रोत की आवश्यकता होती है।
टूलचिन्स को संस्करण नियंत्रण में जांचना एक दर्द है, उपयोगिताओं का उपयोग भयानक है (यदि बिल्कुल भी), लेकिन कोई विकल्प नहीं है। यदि आप चाहते हैं कि टूलचैन उस आदमी के लिए संरक्षित किया जाए जो 5 साल के समय में आपके कोड को देखने के लिए आता है कि वह क्या करता है, तो आपके पास कोई विकल्प नहीं है: आपके पास टूलचिन भी संस्करण नियंत्रण में है।
मैंने वर्षों में पाया है कि ऐसा करने के लिए सबसे सरल विधि स्थापना सीडी की एक ज़िप या आईएसओ छवि बनाना है और इसे जांचना है। चेकइन टिप्पणी को टूलकिन के विशिष्ट निर्माता संस्करण संख्या की आवश्यकता है। अगर gcc या इससे मिलता जुलता है, तो आप जो कुछ भी इस्तेमाल कर रहे हैं उसे एक बड़े ZIP में बंडल करें और वही करें।
सबसे चरम मामला मैंने विंडोज एक्सपी एंबेडेड किया है जहां "टूलचैन" एक रनिंग विंडोज एक्सपी वीएम है, जिसमें एसक्यूएल सर्वर और कॉन्फ़िगरेशन फाइल के ढेर के साथ-साथ सैकड़ों और पैच फाइलें शामिल हैं। पूरे लॉट को स्थापित करना और इसे अद्यतित करना लगभग 2-3 दिन लगते थे। संरक्षित करने के बाद, पोस्टर नियंत्रण के लिए ENTIRE VM की जाँच करना था। यह देखते हुए कि वर्चुअल डिस्क लगभग 6 x 2GB छवियों से बना है, यह वास्तव में काफी अच्छी तरह से चला गया। शीर्ष पर लगता है, लेकिन इसने मेरे लिए आने वाले व्यक्ति के लिए जीवन को बहुत आसान बना दिया और इसका उपयोग करना पड़ा - 5 साल बाद।
सारांश: संस्करण नियंत्रण एक उपकरण है। इसे प्रभावी होने के लिए उपयोग करें, शब्दों के अर्थ जैसी चीजों के बारे में मत लटकाओ, और इसे "स्रोत नियंत्रण" मत कहो क्योंकि यह उससे बड़ा है।