Rabu, Januari 07, 2009

Subversion atau SVN

Subversion, atau dikenal juga dengan nama svn atau SVN, adalah suatu aplikasi opensource pengontrol versi yang dapat mengatur proses pengembangan perangkat lunak yang dilakukan oleh suatu kelompok programmer menjadi runut dan teratur. Subversion diciptakan oleh CollabNet yang memegang merek dagang “Subversion” dan sampai sekarang masih memelihara proyek ini. Versi terakhir Subversion adalah 1.4.4 yang dirilis pada 8 Juni 2007. Subversion tersedia dalam versi Linux, Windows, FreeBSD, OpenBSD, Solaris, Mac OS X dan OS/400. Untuk lebih jelas dapat dilihat di sini

Instalasi
Di Ubuntu Linux (atau Debian dan turunannya), ketikan:

$> sudo apt-get install subversion

Menyiapkan SVN Server
Alokasikan sebuah direktori tempat menyimpan repositori kode kita. Idealnya alokasikan sebuah atau beberapa account/user khusus untuk akses subversion ini, tapi untuk permulaan kita set saja akses direktori subversion ini menjadi 777:

$> sudo mkdir /home/subversion
$> sudo chmod 777 /home/subversion

Create project:

$> cd /home/subversion
$> svnadmin create nama_project

Siapkan direktori untuk code temporary:

$> mkdir temp
$> mkdir temp/trunk
$> mkdir temp/tags
$> mkdir temp/branches

Isi direktori trunk dengan code aplikasi kita.

Import direktori kode sementara tersebut ke project svn:

$> svn import -m “Keterangan” /home/subversion/temp/ file:///home/subversion/nama_project
Kita dapat menghapus kembali file temporary yang telah anda buat.

Nyalakan layanan svnserve agar user bisa mengakses menggunakan protokol svn:// , buat script svnserver:

$> sudo gedit /etc/init.d/svnserver

Berisi perintah untuk menjalankan svnserve daemon:
#! /bin/sh
svnserv -d

Konfigurasikan agar selalu dieksekusi saat komputer menyala:

$> sudo chmod +x /etc/init.d/svnserver
$> sudo update-rc.d svnserver defaults

Menggunakan SVN Client
Jika kita menggunakan IDE seperti Eclipse, Netbeans, Dreamweave dsb. sudah tersedia plugin atau fitur SVN sehingga kita bisa dengan mudah mengambil atau mengirim perubahan kode kita dari dan ke server SVN. Untuk pengguna Microsoft Windows juga sudah ada TurtoiseSVN yang terintegrasi dengan shell (cukup klik kanan). Tapi tentu saja memanfaatkan SVN via commandline lebih cepat dan macho :P

Mengambil Kode dari SVN Server

svn checkout svn+ssh://username@192.168.1.111/home/subversion/nama_project nama_direktori_tujuan

Maintenance
SVN dump

$> svnadmin dump /home/subversion/nama_project > nama_project.dump

Untuk mengestraknya

$> svnadmin create nama_project
$> svnadmin load nama_project <>

Roadmap dan Versioning I: Tags
Setiap perubahan yang terkirim ke repositori svn membuat versi perangkat lunak kita berubah. Tapi tentu saja akan sulit untuk mengingat “Yang memiliki fitur anu anu dan anu itu aplikasi kita revision ke 327″. Sebaiknya pimpinan proyek pengembangan perangkat lunak melakukan snapshot atau deklarasi pada sekian tahapan dengan fitur-fitur atau progres tertentu gar diberi versi tertentu. Misal nyatakan revisi ke 434 sebagai “Release 0.5″.

Dengan struktur svn standar, perubahan terbaru selalu bertambah di /trunk , dengan tags kita bisa melakukan snapshot yang mendeklarasikan bahwa titik progres anu adalah rilis versi anu, misalnya /tags/1.0.2stable. Dan nantinya kita bisa menggunakan/checkout rilis tersebut saja (karena stabil misalnya) sedangkan pengembangan tambahan masih berlanjut di /trunk.

Penggunaan:

$> svn copy svn+ssh://username@192.168.1.111/home/subversion/nama_project/trunk svn+ssh://username@192.168.1.111/home/subversion/nama_project/tags/release0.4.1 -m “Kapan versi 1-nya nih?”

Roadmap dan Versioning II: Branches
Sama dengan sistem tags yang sebenarnya adalah hanya copy directory, tapi nches ini lebih cocok jika versi snapshot atau hasil copy kita tersebut nantinya akan ada penambahan. Misalnya saja versi pecahan atau modifikasi dari aplikasi utama dengan roadmap yang berbeda.

Penggunaan:

$> svn copy svn+ssh://username@192.168.1.111/home/subversion/nama_project/trunk svn+ssh://username@192.168.1.111/home/subversion/nama_project/branches/untuk_handphone -m “Modifikasi versi mobile”

0 komentar:

Posting Komentar

Bagaimana Komentar Anda
U Comment ... I Follow
Berikan komentar anda dalam bentuk Saran/Kritik.
Sedikit atau banyak komentar anda, Penulis akan Following ke URL anda.
Lengkapi URL/identitas anda.

Twitter Delicious Facebook Digg Stumbleupon Favorites More