यह संस्करण नियंत्रण प्रणाली द्वारा बनाए रखा प्रतिबद्ध इतिहास का उपयोग करने के लिए लगभग कुछ भी खर्च नहीं करता है। हालांकि, एक बड़ी परियोजना के दौरान (या पुनर्गठन / सफाई) प्रयास, कार्यों और वर्गों और यहां तक कि नामस्थानों को स्थानांतरित किया जाएगा; कभी-कभी कई फ़ाइलों को एक साथ मर्ज किया जाएगा और अन्य फ़ाइलों को विभाजित किया जाएगा। ये परिवर्तन अक्सर कुछ फ़ाइलों के मूल प्रतिबद्ध इतिहास के नुकसान की ओर ले जाते हैं।
मेरी निजी राय में, स्रोत कोड इतिहास को रखने की तुलना में परियोजना के संगठन का अप-रखना अधिक महत्वपूर्ण है। अच्छा परियोजना संगठन उचित प्रयास के साथ नई सुविधाओं को लगातार जोड़ने की अनुमति देता है, जबकि स्रोत कोड इतिहास का मूल्य संदिग्ध प्रतीत होता है।
इसके अलावा, यूनिट परीक्षण के उपयोग के साथ, प्रतिगमन मुद्दे जल्दी से पहचाने जाते हैं। जब तक नवीनतम संस्करण सभी सॉफ़्टवेयर आवश्यकताओं को पूरा करना जारी रखता है, क्या हमें वास्तव में स्रोत कोड के इतिहास को संरक्षित करने की आवश्यकता है?
मैं समझता हूं कि किसी भी मुख्य स्रोत अपग्रेड को करने की आवश्यकता के बिना ग्राहकों को सहायता प्रदान करने की आवश्यकता के कारण किसी भी शिप किए गए स्रोत कोड को संरक्षित किया जाना चाहिए। लेकिन इससे अलग, क्या सोर्स कोड के इतिहास को बनाए रखने में कोई मूल्य है?
क्या स्रोत कोड प्रतिबद्ध इतिहास टीम के सदस्यों के बीच संचार में कोई भूमिका निभाता है? क्या होगा यदि हम प्रतिबद्ध इतिहास को खत्म कर देते हैं, लेकिन इसके बजाय संचार के लिए "स्रोत कोड" + "इकाई परीक्षण कोड" पर भरोसा करते हैं?
क्या प्रतिबद्ध इतिहास का अस्तित्व परियोजना के बारे में महत्वपूर्ण जानकारी के दीर्घकालिक प्रलेखन के बारे में जटिल है, जैसे कि प्रमुख डिजाइन / आवश्यकता परिवर्तन और विचार की धाराएं जो उन परिवर्तनों को हटा देती हैं?
These changes often lead to the loss of the original commit history of a few files.
"Git blame" जैसे उदाहरण देखें - कुछ भी नहीं खो जाता है। कभी-कभी इसे खोजना थोड़ा कठिन हो सकता है, लेकिन यह हमेशा होता है।