Version control dikenal dengan banyak istilah. Ada yang menyebut Configuration Management Tool, Source Code Management (SCM), atau Source Control. Dalam hal ini, istilah yang digunakan adalah Version Control. Kemampuan menggunakan version control merupakan hal yang langka di kalangan programmer Indonesia. Di bangku kuliah Teknik Informatika, Ilmu Komputer, atau jurusan lain yang sejenis, kita tidak diajarkan tentang version control. Bahkan kita tidak diberitahu kalau ada perangkat yang disebut version control. Di dunia kerja di Indonesia, tidak banyak perusahaan yang sudah menggunakan version control. Kalaupun digunakan, biasanya programmer diharapkan untuk belajar secara otodidak tanpa pelatihan.
Kalau begitu, kenapa kita harus repot-repot belajar menggunakan version control? Terlepas dari kondisi lokal di Indonesia, perangkat ini adalah standar minimal untuk tim programmer di dunia. Di belahan dunia yang lain, ribuan programmer terlibat dalam proyek open source, masing-masing berada di negara yang berbeda, tidak saling mengenal, tidak pernah bertemu muka, berkomunikasi hanya melalui internet. Tetapi mereka mampu menghasilkan aplikasi perangkat lunak yang berkualitas tinggi dalam waktu yang wajar. Kolaborasi dengan skala besar seperti ini dimungkinkan dengan penggunaan version control. Dengan jumlah orang yang begitu besar, sulit sekali mengelola perubahan source code yang dihasilkan tiap programmer. Perubahan pada satu file sangat mungkin akan terhapus atau diganti dengan file lain oleh programmer lain. Apabila terjadi kesalahan, sangat sulit untuk mengembalikan kondisi aplikasi seperti sebelum terjadi error. Version control dapat menyediakan akses untuk banyak orang sekaligus, mirip dengan sharing folder yang biasa kita gunakan. Bedanya dengan sharing folder, version control mampu:
- mencatat isi perubahan dan pelaku perubahan, dengan demikian kalau ditemukan 'keanehan' pada kode program, kita dapat melacak siapa yang membuat 'keanehan' tersebut dan kapan 'keanehan' tersebut muncul
- menyediakan fungsi undo untuk tim, yaitu dapat mengembalikan kondisi kode program ke periode yang diinginkan (minggu kemarin, sebelum bugfix, dan sebagainya)
- melihat riwayat perubahan kode, dari pertama dibuat, sampai kondisi terakhir saat ini.
- memungkinkan pengembangan kode secara paralel, misalnya aplikasi yang sama dibuat dalam berbagai versi secara berbarengan.
Berikut adalah version control open source yang tersedia:
- Concurrent Versioning System (CVS). Version control paling
terkenal di dunia. Usianya yang tua dan popularitas
menyebabkan banyak aplikasi pendukung yang tersedia.
Integrasi dengan CVS biasanya sudah dimasukkan sebagai
fitur utama dalam editor-editor kode program seperti
Eclipse, Netbeans, dan sebagainya. - Subversion. Aplikasi version control yang dibuat dengan
tujuan untuk menggantikan CVS.
- sumber : konsep dan penggunaan subversion oleh endy muhardin