Pengenalan Concurrent Versions System (CVS)

Tedi Heriyanto 1 - Eko Bono 2

v.0.0.1 : 11 Juni 2001

Ringkasan:

Artikel ini akan menerangkan secara singkat bagaimana menggunakan cvs yang telah disediakan oleh sourceforge.net. Pertama-tama akan dibahas apa itu CVS, bagaimana mensetting cvs agar dapat bekerja, dan akhirnya diberikan sebuah contoh kasus untuk mensetup cvs untuk proyek RushNet.

Apa itu CVS[2]

CVS adalah sebuah sistem kendali versi (version control system). Dengan menggunakannya, anda dapat mencatat sejarah file-file source anda.

Berikut ini adalah beberapa fitur dari CVS :

CVS bermula sebagai serangkaian script shell yang ditulis oleh Dick Grune, yang dikirimkan ke newsgroup comp.sources.unix dalam rilis 6 volume pada Desember 1986. Meski tidak ada kode yang berasal dari script ini dalam versi baru CVS, banyak algoritma resolusi konflik berasal dari script tersebut.

Bulan April 1989, Brian Berliner merancang dan mengkodekan CVS. Jeff Polk kemudian membantu Brian dengan desain modul CVS dan dukungan cabang vendor (vendor branch support).

Anda dapat memperoleh CVS dalam beragam cara, termasuk mendownloadnya dari Internet

Untuk informasi lebih jauh tentang CVS ini, silakan kunjungi websitenya di :

Instalasi dan Konfigurasi client CVS

Yang akan dijelaskan di sini adalah hal-hal yang sangat mendasar, namun akan membuat anda mampu menggunakan cvs di sourceforge.net.

Bagi seluruh developer (akses baca/tulis), anda perlu menggunakan SSH. Client SSH (1.x) harus tersedia pada mesin lokal anda. Variabel environment lokal CVS_RSH juga harus diset ke path to ssh. Hal ini dapat dilakukan pada shell bash dengan cara memberikan perintah berikut :

export CVS_RSH=ssh

Akses CVS anonim menggunakan CVS pserver dan tidak butuh SSH

Jika anda memperoleh pesan kesalahan 'permission denied' tanpa prompt yang meminta password, anda belum menset variabel lingkungan ini dengan tepat atau SSH tidak ada di sistem anda. Perbaikilah sebelum mencurigai masalah password.

Menggunakan CVS

Hal Yang Perlu Dilakukan Dulu

SSH ke akun user anda pada server CVS. Ini akan membuat home directory anda sehingga anda dapat mulai menggunakan CVS. Akses CVS TIDAK akan bekerja sampai anda telah melakukan hal ini.

Bagaimana mengimpor source code ke dalam repositori anda

Pada mesin lokal anda, pindahlah ke direktori yang file-filenya (dan subdirektorinya) ingin anda impor. Pengertian impor di sini adalah memasukkan file-file dan subdirektorinya ke dalam repositori alias menyimpannya ke repositori.

Semua yang ada di direktori saat ini dan subdirektorinya akan diimpor ke dalam tree. Berikan perintah berikut, dengan loginname adalah nama login anda di SourceForge, yourproject adalah nama grup unix bagi proyek anda, dan directoryname adalah nama baru direktori level root CVS.

cvs -d:ext:loginname@cvs.yourproject.sourceforge.net:/cvsroot/yourproject import directoryname vendor start

Bagaimana mengambil source lewat SSH

Berikan perintah berikut, lakukan penyesuaian bagi username dan project anda.

cvs -d:ext:loginname@cvs.yourproject.sourceforge.net:/cvsroot/yourproject co directoryname

Setelah cekout pertama, anda dapat merubah ke direktori ini, dan mengeksekusi perintah- perintah cvs tanpa tag -d. Sebagai contoh :

 
cvs update
cvs commit -m "comments for this commit"
cvs add myfile.c

Bagaimana mengambil source secara anonim melalui pserver

Jika anda tidak terdaftar sebagai developer pada proyek tersebut, anda masih dapat mengambil file-file yang berkaitan dengan proyek tersebut, dengan menggunakan akun anonim.

Berikan perintah berikut, lakukan penyesuaian bagi username dan project anda.

cvs -d:pserver:anonymous@cvs.yourproject.sourceforge.net:/cvsroot/yourproject login

Setelah berhasil login secara anonim :

cvs -z8 -d:pserver:anonymous@cvs.yourproject.sourceforge.net:/cvsroot/yourproject co directoryname

Setelah cekout pertama, anda dapat merubah ke direktori ini, dan mengeksekusi perintah- perintah cvs tanpa tag -d. Sebagai contoh :

cvs update

Bagaimana mengambil source ketika ada di shell.sourceforge.net

Berikan perintah berikut, lakukan penyesuaian bagi username dan project anda.

cvs -dloginname@cvs1:/cvsroot/yourproject co directoryname

Lihat CVS/SSH FAQ untuk informasi lebih jauh.

Bagaimana memperoleh CVS tree anda

Tarball harian seluruh CVS Repositories proyek tersedia bagi tujuan backup atau mirroring. Tersedia di http://cvs.sourceforge.net/cvstarballs/projectname-cvsroot.tar.gz. Dengan projectname adalah nama Unix bagi proyek anda.

Sebuah contoh : Proses setup CVS dari RushNet

Repository CVS dari RushNet dapat ditemukan di

cvs.rushnet.sourceforge.net:/cvsroot/rushnet

Untuk mengimpor semua code ke dalam repository CVS di SourceForge lakukan instruksi berikut:

$ export CVS_RSH=ssh 
$ export CVSROOT=loginname@cvs.rushnet.sourceforge.net:/cvsroot/rushnet

Setelah itu kita masuk ke dalam direktori yang akan diimpor ke repository CVS. Kemudian lakukan instruksi berikut:

$ cvs import directoryname vendor start

Sekarang kita akan bekerja dengan file yang ada di repository. Untuk itu kita dapat pergunakan instruksi:

$ cvs -z3 checkout directoryname

Dengan perintah di atas, di host lokal akan dibuat direktori baru yang isinya sama dengan file yang ada di repository. Selanjutnya kita akan menyebut file di lokal dengan working copy.

Untuk mengupdate working copy agar sinkron dengan repository CVS, dapat digunakan perintah berikut:

$ cvs -z3 update -Pd

Untuk menambahkan sebuah file dari working copy ke repository CVS, instruksinya adalah seperti berikut:

$ cvs add filename
$ cvs commit -m "comment about added file" filename

Bibliografi

1
SourceForge, SourceForge CVS Howto, http://sourceforge.net/docman/display_doc.php?docid=763&group_id=1

2
CVS Project, CVS Manual, http://cvshome.org/docs/manual/cvs.html


Footnotes

... Heriyanto1
tedi_h@gmx.net
... Bono2
ekobono@yahoo.de


Tedi Heriyanto 2001-06-12