Pengertian
Subversion adalah aplikasi untuk mengontrol versioning
dokumen (version control system), yang dapat menjadi medium kolaborasi project
serta mengelola dokumen project beserta segala perubahan yang terjadi atas
dokumen tersebut.
Version Control adalah suatu system manajemen perubahan pada
kode program, dokumen dan informasi informasi lain yg disimpan dalam bentuk
file komputer, dimana biasanya digunakan untuk memudahkan user dalam mengontrol
perubahan-perubahan yg terjadi pada file atau program yang sedang dikerjakan.
Fungsi – fungsi dasarnya adalah sbb :
• mencatat
perubahan code yang terjadi dan pembuat perubahan
• fungsi undo,
sehingga bisa mengembalikan kondisi
program kekeadaan sebelum terjadi error
• melihat riwayat
code
• fungsi kolaburasi
yg memungkinkan penulisan code yg dikerjakan secara bersamaan dengan team lain
tanpa ada resiko tertimpa nya hasil pekerjaan user A oleh user B. Fungsi ini juga yg membuat subversion sangat
cocok untuk digunakan pada proyek2 open source dimana dikerjakan secara bersama
sama dan biasaya tidak mempunyai domisili yg sama.
Subversion merupakan aplikasi stand alone. Dengan kata lain
SVN ini tidak memerlukan aplikasi lain. Tidak memerlukan Apache maupun aplikasi
lain ketika melakukan instalasi. Apache dibutuhkan ketika SVN diakses melalui
web (Protokol HTTP). Pada environment Windows, command prompt (console DOS)
diperlukan untuk berbagai kebutuhan administrasi atau menejemen user, misalkan
untuk membuat repository baru. Notepad, jEdit atau text editor. Manajemen user
Subversion compatible dengan Apache, yakni menggunakan flat-file seperti
htpasswd untuk autentikasi user. Beberapa aplikasi berbasis web untuk manajemen
Subversion adalah USVN dan SVNManager.
Beberapa keunggulan dari Subversion adalah :
1. Dapat melakukan
mangement user beserta Policy-nya.
2. Source code yang
kita bangun dari awal di-record dengan baik, sehingga memudahkan, apabila
terjadi kesalah dalam code atau terhapus bisa dikembalikan dengan baik.
3. Pencocokan code
pada tiap dokumen source code berdasarkan history.
4. History account
sampai history code, sehingga bisa menampilakan, siapa saja yang melakukan edit
code mulai dari waktu project dibangun.
Lisensi
Subversion ini dirilis oleh CollabNet inc dalam lisensi open source. CollabNet membuat
subversion sebagai pengganti langsung dari CVS yang sudah tidak dapat mendukung
model pengembangan software dewasa ini. CVS mempunyai beberapa kekurangan ,
antara lain :
1. Tidak mendukung
atomic commit
2. Tidak mendukung
penyimpanan file binary
3. Tidak mendukung
rename file atau folder
4. Tidak dapat
menyimpan perubahan pada file yang sudah didelete
5. Ijin akses tidak
dapat diatur per folder
Selain mengatasi kekurangan dari CVS, subversion juga
mempunyai banyak keunggulan dibandingkan dengan CVS, antar lain :
1. Dapat dijalankan
dalam beberapa protokol, antara lain: HTTP, file, svn dan svn+ssh.
2. Dapat melakukan
otentikasi user melalui protokol LDAP
Pengguna
subversion sudah menjadi standard de facto version control
di dunia opensource. Misalnya, situs kolaborasi terbesar di dunia
sourceforge.net sudah bermigrasi ke Subversion begitu juga situs dev.java.net
sudah bermigrasi ke subversion. Proyek-proyek yang menggunakan Subversion
antara lain mencakup Apache Software Foundation, KDE, GNOME, GCC, Python,
Samba, Mono, MediaWiki, dll. SourceForge.net juga telah menyediakan hosting
Subversion untuk proyek-proyek sumber terbukanya. Selain itu, Telah banyak
developer yang membuat plugin atau bundle installer yang mengintegrasikan
Subversion dengan berbagai aplikasi lain, seperti Subversion untuk Desktop
(terintegrasi dengan shell Windows Explorer), plugin untuk Microsoft Office dan
Visual Studio.
Fitur – Fitur
Pembuatan versi direktori
Subversion mengimplementasikan sistem file berversi
“virtual” yang melacak perubahan ke seluruh susunan direktori terus menerus.
File dan direktori diversikan.
Komit atomis
Komit atomis adalah Komit ke repositori sepenuhnya, atau
tidak sama sekali. Hal ini membolehkan para pengembang untu mengkonstruksi dan
mengkomit perubahan sebagai potongan logikal.
Metadata berversi
Setiap file dan direktori mempunyai set “properti” tidak
terlihat yang dilampirkan. Sehingga bisa menciptakan dan menyimpan setiap
pasangan kunci/nilai yang diinginkan. Properti diversi ini bersifat terus
menerus, seperti halnya isi file.
Pilihan lapisan jaringan
Subversion mempunyai pengertian abstrak dari akses
repositori, membuatnya mudah bagi orang untuk mengimplementasikan mekanisme
jaringan baru. Server jaringan “tingkat lanjut” Subversion adalah modul untuk
server web Apache, yang berbicara varian HTTP yang disebut WebDAV/DeltaV. Ini
memberikan keuntungan besar untuk Subversion dalam stabilitas dan
interoperabilitas, dan menyediakan berbagai fitur kunci bebas: otentikasi,
otorisasi, kompresi sambungan, dan melihat repositori, sebagai contoh. Proses
server Subversion sendiri yang lebih kecil juga tersedia. Server ini
menggunakan protokol bebas yang bisa dilintasi dengan mudah melalui ssh.
Penanganan data konsisten
Subversion memperlihatkan perbedaan file menggunakan
algoritma pembedaan biner, yang bekerja secara identik pada file teks (bisa
dibaca-manusia) dan biner (tidak bisa dibaca-manusia). Kedua tipe file disimpan
secara sama dipadatkan dalam repositori, dan perbedaan dikirimkan dalam kedua
arah melintasi jaringan.
Pembuatan cabang dan tag secara efisien
Subversion membuat cabang dan tag dengan cukup mengcopy
proyek, sehinggan Biaya pencabangan dan tag tidak perlu proporsional pada
besarnya proyek. Dengan menggunakan mekanisme mirip dengan link-kasar. Operasi
ini hanya memerlukan waktu hanya sebentar, dan ruang sangat kecil dalam
repositori.
Kemampuan di-hack
Subversion tidak mempunyai bagasi historis. SVN
diimplementasikan sebagai kumpulan dari librari C berbagi dengan API yang
didefinisikan-baik. Hal ini menjadikan Subversion bisa dipelihara secara
ekstrim dan berguna bagi bahasa dan aplikasi lainnya.
0 komentar:
Posting Komentar