मैं इस धारणा के अधीन था कि एक संस्करण नियंत्रण प्रणाली ने कोड में हर जगह "परिवर्तन लॉग" होने की आवश्यकता को समाप्त कर दिया। मैंने अक्सर परिवर्तन लॉग के निरंतर उपयोग को देखा है, जिसमें एक बड़े खंड के साथ संग्रहीत प्रक्रियाओं की शुरुआत में बड़े खंड शामिल हैं जो फ़ाइल में परिवर्तन के लिए अवरुद्ध हो गए हैं और कोड को चीजों के साथ लिट कर रहे हैं:
// 2011-06-14 (John Smith) Change XYZ to ABC to fix Bug #999
तथा:
// 2009-95-12 (Bob Jones) Extracted this code to Class Foo
// <commented-out code here>
इसका कारण, जैसा कि मुझे समझाया गया था, यह है कि हमारे वीसीएस लॉग के माध्यम से झारना करने में बहुत लंबा समय लगता है, यह जानने की कोशिश करता है कि किसने और क्यों बदला, जबकि कोड फ़ाइल में ही, शीर्ष पर या संबंधित के पास है। परिवर्तन, यह देखना आसान बनाता है कि किसने और कब बदला। जब मैं उस बिंदु को देखता हूं, तो यह बेमानी लगता है और "ईह हम वास्तव में समझ नहीं पा रहे हैं कि हमारे वीसीएस का सही उपयोग कैसे किया जाए।"
तुम क्या सोचते हो? क्या आप टिप्पणियों और लॉग दोनों का उपयोग करते हैं? बस लॉग? क्या आपको लगता है कि जब आप कोड के एक ब्लॉक के ऊपर देख सकते हैं तो कोड को ब्लॉक करना आसान है कि जॉन स्मिथ ने लॉग के माध्यम से खोज करने और एक डिफ टूल में कोड फ़ाइलों की तुलना करने के बजाय एक सप्ताह पहले XYZ के लिए जाँच करने का तरीका बदल दिया?
संपादित करें: SVN का उपयोग करना, लेकिन मूल रूप से केवल एक भंडार के रूप में। कोई शाखा नहीं, कोई मर्ज नहीं, लॉग + स्टोरेज के अलावा कुछ भी नहीं।