Perbedaan Antara CVS dan Subversi

CVS vs. Subversion

Concurrent Versi System (juga dikenal sebagai Concurrent Versioning System atau CVS) adalah sistem kontrol revisi perangkat lunak bebas -yaitu, itu adalah program yang terbuka untuk digunakan kepada publik yang mengelola perubahan pada dokumen, program, dan informasi lain yang tersimpan di komputer file). Ini memungkinkan banyak pengembang untuk berkolaborasi.

Subversion (juga dikenal sebagai SVN) adalah sistem kontrol versi yang digunakan untuk memelihara versi file saat ini dan sebelumnya (seperti kode sumber, halaman web, dan dokumentasi). Ini adalah peningkatan langsung CVS dan penggantinya yang paling kompatibel. Ini juga merupakan teknologi open source dan telah banyak digunakan dalam beberapa proyek - seperti Apache Software Foundation, Free Pascal, MediaWiki, dan kode Google.

CVS menggunakan arsitektur server klien - ini berarti bahwa server menyimpan versi saat ini (atau versi) dari proyek tertentu serta menyimpan riwayatnya. Klien kemudian terhubung ke server sebagai sarana untuk 'memeriksa' salinan proyek yang telah selesai sebelum terhubung ke server. Klien kemudian mampu mengerjakan salinan proyek ini dan kemudian memeriksa perubahan yang telah dilakukannya kemudian. Selain memungkinkan satu klien untuk memeriksa salinan proyek tertentu, CVS memungkinkan beberapa klien untuk bekerja dan memeriksa proyek yang sama secara bersamaan. Klien akan dapat memodifikasi file dalam copy proyek mereka sendiri dan mengirimkan suntingan ini ke server.

Subversi berkomitmen - yaitu, menciptakan satu set perubahan tentatif dan menjadikannya permanen - sebagai atom yang benar (atau serangkaian operasi data di mana segala sesuatu terjadi atau tidak terjadi apa-apa) operasi. Subversi juga memungkinkan pengguna untuk mengganti nama, menyalin, memindahkan, dan / atau menghapus file; Namun, file-file itu akan mempertahankan riwayat revisi penuhnya. Sistem ini menggunakan keluaran yang dapat diuraikan, secara asli desain pustaka layered klien / server, dan percabangan dan penandaan sebagai operasi yang murah (terlepas dari ukuran file). Ada binding bahasa untuk PHP, Python, Perl, dan Java. Subversi juga dikenakan biaya sesuai dengan ukuran perubahan dan bukan ukuran data.

CVS dapat mempertahankan berbagai cabang proyek - artinya, berbagai aspek atau permutasi dari proyek yang sama dapat bercabang dari proyek sumber dan CVS akan mempertahankan semua versi (versi yang dirilis dari proyek membentuk satu cabang untuk perbaikan bug, sementara versi berbeda yang saat ini sedang dikembangkan dapat berisi fitur baru dan perubahan besar dan membentuk cabang dari proyek yang sama, misalnya).

Ringkasan:
1. CVS memungkinkan banyak pengguna untuk berkolaborasi dalam proyek yang sama; Subversion memelihara versi file saat ini dan sebelumnya.
2. CVS memungkinkan pengguna untuk memeriksa proyek yang sama dan memodifikasinya; Subversi dilakukan sebagai operasi atom yang sebenarnya.
3. CVS dapat mempertahankan berbagai cabang proyek; Subversi menggunakan output yang dapat diuraikan.