Pengertian Version Control
Kemampuan menggunakan version control adalah kemampuan wajib yang harus dimiliki oleh tim programmer. Di seluruh dunia, ribuan programmer terlibat dalam pengembangan proyek opensouce, kolaborasi dalam skala raksasa seperti ini mustahil dilaksanakan tanpa adanya version control. Akan terjadi bencana dan kekacauan jika kode sumber hanya diletakkan di website, kemudian dibagi ke semua programmer. Jika dua orang programmer bekerja dalam file yang sama, mereka akan saling menimpa pekerjaan temannya, dan jika terjadi kesalahan maka tidak akan mungkin mengembalikan keadaan kode ke keadaan sebelumnya tanpa usaha yang cukup besar.
Version control dapat membantu sebuah tim pengembang perangkat lunak dengan menyediakan akses kepada setiap anggota tim tanpa harus saling menimpa pekerjaan anggota tim yang lain, seperti yang terjadi jika sebuah tim pengembang menggunakan sharing folder. Version control mampu :
- Mencatat perubahan code dan pembuat perubahan
- Menyediakan fungsi undo untuk mengembalikan keadaan code ke titik tertentu
- Melihat riwayat perubahan code, dari pertama dibuat hingga keadaan yang sekarang
- Memungkinkan penulisan code secara paralel tanpa ada kejadian anggota tim menimpa pekerjaan anggota tim yang lain.
Jumlah maksimal programmer yang dapat bekerja sama tanpa menggunakan version control adalah satu orang (Endy, 2006). Jika dalam sebuah tim pengembang software terdapat sebuah tim programmer yang lebih dari satu, version control adalah tools yang wajib digunakan.
Banyak aplikasi version control yang tersedia, beberapa aplikasi yang cukup terkenal antara lain :
- Visual Source Safe, version control buatan microsoft. Terintegrasi dengan Visual Studio
- CVS, version control dikembangkan oleh CollabNet yang dipimpin oleh Karl Fogel. CVS adalah version control yang dikembangkan dengan lisensi opensource dan sudah sangat banyak digunakan. CVS juga mempunyai software pendukung yang sangat besar, dan juga didukung oleh hampir semua IDE besar.
- Subversion, dibuat dengan tujuan untuk menggantikan CVS yang mempunyai kelemahankelemahan sehingga tidak cocok lagi dengan paradigma pengembangan perangkat lunak yang sedang trend saat ini. Subversion ini dikembangkan oleh CollabNet dan dibuat oleh orang yang sama yang membuat CVS, Karl fogel.