VERSION CONTROL (yanlış isim: kaynak kontrol) düşüncesi, geçmişe geri dönmenize, değişikliklerin etkisini geri kazanmanıza, değişiklikleri görmenize ve neden yapılmasına izin vermektir. Bu, bazıları ikili şeylere ihtiyaç duyan, bazıları gerektirmeyen bir dizi gereksinimdir.
Örnek: Gömülü ürün yazılımı çalışması için normal olarak eksiksiz bir alet zincirine sahip olacaksınız: ya çok paraya mal olan özel bir derleyici ya da gcc'nin bir sürümü. Sevkiyatın yürütülebilmesi için alet zincirine ve kaynağa ihtiyacınız vardır.
Araç zincirlerinin versiyon kontrolünde kontrol edilmesi bir acıdır, fark yaratabilecekleri korkunç (eğer de olsa), fakat alternatif yok. Alet zincirinin ne olduğunu anlamak için 5 yıl içinde kodunuza bakmak isteyen adam için korunmasını istiyorsanız, başka seçeneğiniz yok: Alet zincirini de versiyon kontrolü altında bulundurmanız GEREKİR.
Yıllar boyunca bunu yapmanın en basit yönteminin kurulum CD'sinin ZIP veya ISO görüntüsünü oluşturmak ve bunu kontrol etmek olduğunu buldum. Giriş yapma yorumunun, takım zincirinin belirli üreticilerinin sürüm numarası olması gerekiyor. Gcc veya benzeri ise, kullandığınız her şeyi büyük bir ZIP içine toplayın ve aynısını yapın.
Yaptığım en uç durum, "toolchain" in (o zamanlar) SQL Server ve yüzlerce ve yüzlerce yama dosyasıyla birlikte bir dizi yapılandırma dosyası içeren çalışan bir Windows XP VM'si olduğu Windows XP Embedded. Bütün partiyi kurmak ve güncel tutmak yaklaşık 2-3 gün sürdü. Bunu korumak, gelecek nesil için ENTIRE VM'yi sürüm kontrolünde kontrol etmek anlamına geliyordu. Sanal diskin yaklaşık 6 x 2GB görüntüden oluştuğunu görünce, aslında oldukça iyi geçti. Üstünden geliyor ama benden sonra gelen ve kullanması gereken kişi için hayatı çok kolaylaştırdı - 5 yıl sonra.
Özet: Sürüm kontrolü bir araçtır. Etkili olmak için kullanın, kelimelerin anlamı gibi şeylere dokunmayın ve bundan "kaynak kontrolü" deyin, çünkü bundan daha büyük.