Gagasan VERSION CONTROL (misnomer: source control) adalah untuk memungkinkan Anda memutar kembali sejarah, memulihkan efek perubahan, melihat perubahan, dan mengapa dibuat. Ini adalah serangkaian persyaratan, beberapa di antaranya memerlukan binary thingies, beberapa di antaranya tidak.
Contoh: Untuk pekerjaan firmware bawaan, Anda biasanya akan memiliki toolchain lengkap: baik kompiler berpemilik yang menghabiskan banyak uang, atau beberapa versi gcc. Agar pengiriman dapat dieksekusi, Anda memerlukan toolchain serta sumbernya.
Memeriksa toolchains ke dalam kontrol versi memang menyebalkan, utilitas yang berbeda itu mengerikan (jika sama sekali), tetapi tidak ada alternatif. Jika Anda ingin toolchain dilestarikan untuk orang yang datang untuk melihat kode Anda dalam waktu 5 tahun untuk mencari tahu apa yang dilakukannya, maka Anda tidak punya pilihan: Anda HARUS memiliki toolchain di bawah kontrol versi juga.
Saya telah menemukan selama bertahun-tahun bahwa metode paling sederhana untuk melakukan ini adalah dengan membuat gambar ZIP atau ISO dari CD instalasi dan memeriksanya. Komentar checkin harus berupa nomor versi pembuat khusus toolchain. Jika gcc atau serupa, bundel semua yang Anda gunakan menjadi ZIP besar dan lakukan hal yang sama.
Kasus paling ekstrim yang saya lakukan adalah Windows XP Embedded di mana "toolchain" adalah Windows XP VM yang berjalan, yang termasuk (saat itu) SQL Server dan setumpuk file konfigurasi bersama dengan ratusan dan ratusan file tambalan. Menginstal keseluruhan dan memperbaruinya biasanya memakan waktu sekitar 2-3 hari. Menjaga agar anak cucu berarti memeriksa SELURUH VM ke dalam kontrol versi. Melihat disk virtual terdiri dari sekitar 6 x 2GB gambar, sebenarnya berjalan cukup baik. Kedengarannya di atas, tetapi itu membuat hidup sangat mudah bagi orang yang datang setelah saya dan harus menggunakannya - 5 tahun kemudian.
Ringkasan: Kontrol versi adalah alat. Gunakan untuk menjadi efektif, jangan terpaku pada hal-hal seperti arti kata-kata, dan jangan menyebutnya "kontrol sumber" karena lebih besar dari itu.