El Psy Congroo

Senin, 18 November 2019

Subversion

Image result for svn
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.

Share:

0 komentar:

Posting Komentar

Blogroll

Cari Blog Ini

Diberdayakan oleh Blogger.

Blogger templates