Rumah >masalah biasa >Apakah perbezaan antara svn dan cvs
Perbezaan: 1. Nombor versi CVS adalah berdasarkan nombor siri yang meningkat sendiri bagi fail, manakala nombor versi SVN adalah berdasarkan nombor siri yang meningkat sendiri global, bukan sahaja untuk fail, tetapi juga untuk direktori; 2. CVS adalah berdasarkan fail RCS , manakala SVN adalah berdasarkan pangkalan data hubungan atau satu siri fail binari 3. CVS membenarkan rollback sewenang-wenangnya, tetapi SVN tidak membenarkan rollback selepas penyerahan; prinsip transaksi "sifar atau satu", tetapi CVS tidak; 5. CVS tidak menyokong penyerahan nama semula fail tempatan, tetapi SVN menyokongnya 6. CVS mempunyai empat kebenaran, manakala SVN hanya mempunyai tiga kebenaran.
Persekitaran pengendalian tutorial ini: sistem Windows 7, Subversion versi 1.14, komputer Dell G3.
CVS (Sistem Versi Serentak):
ialah sistem versi serentak untuk membangunkan kod sumber. Ia tersedia untuk pelbagai platform, termasuk Linux, Unix dan Windows NT/2000/XP, dsb. CVS adalah percuma dan sumber terbuka serta menyediakan pengurusan versi untuk projek.
Pengenalan fungsi:
1. Pengurusan kod bersatu, menyimpan sejarah perubahan pada semua fail kod. Pengurusan kod yang terpusat dan bersatu memudahkan anda melihat fail yang baru ditambah atau dipadamkan dan menjejaki semua kesan perubahan kod. Anda boleh memulihkan kepada mana-mana versi sejarah terdahulu sesuka hati. Dan elakkan BUG mendalam diperkenalkan kerana versi yang berbeza.
2. Penyelesaian penyelesaian konflik yang sempurna boleh menyelesaikan masalah konflik fail dengan mudah tanpa perlu menggunakan alat perbandingan fail lain dan menampal serta menyalin secara manual.
3. Pengurusan kebenaran kod. Keizinan yang berbeza boleh ditetapkan untuk pengguna yang berbeza. Kata laluan, baca sahaja, pengubahsuaian dan kebenaran lain untuk pengguna akses boleh ditetapkan, dan melalui skrip dalam direktori CVS ROOT, antara muka untuk pengembangan fungsi yang sepadan disediakan, yang bukan sahaja dapat melengkapkan kawalan kebenaran yang terperinci, tetapi juga melengkapkan lebih banyak lagi. fungsi yang diperibadikan.
4. Menyokong keluaran versi yang mudah dan fungsi cawangan.
SVN (Subversion):
Nama penuh SVN ialah Subversion, iaitu sistem kawalan versi. SVN ialah singkatan daripada Subversion Ia adalah sistem kawalan versi sumber terbuka. Berbanding dengan RCS dan CVS, ia menggunakan sistem pengurusan cawangan. Banyak perkhidmatan kawalan versi di Internet telah berhijrah daripada CVS kepada Subversion.
SVN ialah sistem pengurusan versi fail terpusat.
Inti pengurusan kod terpusat ialah pelayan Semua pembangun mesti mendapatkan kod daripada pelayan sebelum memulakan kerja hari baharu, kemudian membangunkan, dan akhirnya menyelesaikan konflik dan menyerahkan. Semua maklumat versi diletakkan pada pelayan. Jika anda terputus sambungan dari pelayan, pembangun pada dasarnya tidak boleh berfungsi.
(SVN) Aliran kerja pengurusan berpusat:
Inti pengurusan kod berpusat ialah pelayan Semua pembangun memulakan hari baharu Kerja mesti dilakukan sebelum mendapatkan kod daripada pelayan, kemudian membangunkannya, dan akhirnya menyelesaikan konflik dan menyerahkannya. Semua maklumat versi diletakkan pada pelayan. Jika anda terputus sambungan dari pelayan, pembangun pada dasarnya tidak boleh berfungsi.
Proses pengurusan adalah seperti berikut:
Perbezaan antara svn dan cvs
CVS | SVN | |
Mengenai nombor versi | Nombor siri penambahan automatik berasaskan fail. | Berdasarkan nombor siri yang meningkat sendiri secara global, bukan sahaja untuk fail, tetapi juga untuk direktori, dsb. |
Format jenis storan | CVS ialah sistem kawalan versi berdasarkan fail RCS. Setiap fail CVS hanyalah fail biasa dengan beberapa maklumat tambahan. Fail ini hanya mengulangi struktur pokok fail tempatan. Oleh itu, tidak perlu risau tentang kehilangan data, anda boleh mengubah suai fail RCS secara manual jika perlu. | SVN adalah berdasarkan pangkalan data hubungan (BerkleyDB) atau satu siri fail binari (FS_FS). Di satu pihak, ini menyelesaikan banyak masalah (cth. membaca dan menulis selari fail kongsi) dan menambah banyak ciri baharu (cth. ciri transaksi masa jalan.). Walau bagaimanapun, sebaliknya, storan data menjadi legap atau tidak begitu mesra pengguna. Itulah sebabnya alat perisian telah menjadi sangat penting untuk gudang (pangkalan data). |
Kelajuan akses | agak perlahan kerana ia berdasarkan pemindahan fail yang dibezakan sehala (pelayan-->klien) | sebagai keseluruhan Dalam erti kata lain, disebabkan oleh pelaksanaan seni bina yang berbeza, SVN sememangnya jauh lebih pantas daripada CVS kerana ia menggunakan pemindahan fail dibezakan dua hala. Ia menghantar maklumat yang sangat sedikit melalui rangkaian dan menyokong lebih banyak ciri mod luar talian. Tetapi ia datang dengan kos. Harga kelajuan adalah storan yang besar (sandaran penuh semua fail yang berfungsi). |
Metadata | Hanya membenarkan penyimpanan fail | Membenarkan fail mempunyai sebarang atribut yang boleh dinamakan. Fungsi ini sangat lengkap, tetapi saya tidak tahu untuk apa ia digunakan |
Jenis fail | pada asalnya direka untuk storan fail teks. Oleh itu, hampir tiada sokongan untuk jenis fail lain (binari, Unicode Jika perlu, maklumat tambahan mesti disediakan, dan kedua-dua klien dan pelayan mesti diselaraskan. | SVN akan mengambil berat tentang semua jenis fail dan tidak memerlukan anda melakukan operasi manual kerana storannya adalah berdasarkan binari |
Guling semula | CVS Membenarkan pemulangan semula mana-mana versi komitmen, walaupun ia mengambil sedikit masa (semua fail mesti diproses secara berasingan). | SVN tidak membenarkan pemulangan semula selepas penyerahan. Kami mengesyorkan menambah versi yang baik dalam repositori hingga akhir dan menulis ganti versi yang rosak. Versi yang rosak akan disimpan dalam pangkalan data pula. |
Transaksi | Prinsip transaksi "sifar atau satu" dalam CVS tidak dilaksanakan sama sekali. Jika anda mendaftar masuk beberapa fail (tambahkannya pada pelayan), ada kemungkinan bahawa sebahagian daripadanya telah selesai dan yang lain tidak. Sebagai peraturan biasa, betulkan ini secara manual dan daftar masuk semula untuk baki fail (bukan semua fail). Fail ini kemudiannya akan didaftar masuk dalam dua fasa. Tetapi setakat ini, tiada kes kerosakan gudang data yang disebabkan oleh kekurangan fungsi ini. | Menyokong prinsip transaksi "sifar atau satu", yang merupakan kelebihan utama SVN |
Seni bina, kod, skalabiliti | CVS adalah lama sistem. Pada mulanya, CVS hanyalah beberapa fail skrip menggunakan RCS. Kemudian skrip ini dikumpulkan ke dalam satu aplikasi, tetapi struktur dalaman masih memerlukan penambahbaikan. Sehingga hari ini, masih ada orang yang cuba menulis semula CVS dari awal, tetapi mereka gagal. Kami pernah cuba menulis semula kod klien untuk penyepaduan yang lebih baik, tetapi ia tidak berjaya. Sekarang kami tidak fikir CVS boleh pergi jauh dari segi fungsi. | Pembangun subversi memang menghabiskan banyak masa pada seni bina dalaman. Kami masih tidak tahu sejauh mana kebenaran keputusan ini dan sebagainya. Tetapi satu perkara yang pasti, kod itu mempunyai kebolehskalaan yang baik dan kerja peningkatan juga sedang dijalankan. |
Namakan semula dan padam operasi | Tidak menyokong penyerahan nama semula fail setempat; Pemadaman dibahagikan kepada alih keluar dan padamkan kedua-dua fail tempatan dan pustaka. , yang terakhir hanya memadamkan fail tempatan; tidak boleh memadam folder | menyokong penyerahan penamaan semula fail dan sistem akan menggesa untuk memadam fail lama dan mencipta fail baharu Memadamkan fail dalam pustaka penyerahan fail setempat juga akan dipadamkan |
Kebenaran akses pengguna | Terdapat empat kebenaran: baca, tulis, buat dan tiada siapa yang boleh padam folder. (Admin hanya boleh menjalankan ke pelayan dan memadam folder yang sepadan secara kejam? Saya hanya tahu kaedah ini buat masa ini...) | Hanya ada tiga kebenaran: baca, tulis dan tiada kebenaran cipta dan padam nampaknya terikat untuk menulis |
Buat cawangan dan garis dasar bersama | CVS Apabila mencipta cawangan, ia perlu mengendalikan semua fail bercabang mengikut urutan. , jadi kos penubuhan cawangan (Terutamanya masa yang diperlukan untuk menubuhkan cawangan, atau sumber pengkomputeran yang digunakan) adalah berkadar dengan bilangan fail yang mengambil bahagian dalam cawangan Semakin besar projek, semakin besar perpustakaan versi, semakin banyak fail , dan semakin tinggi kos penubuhan cawangan itu; | Cawangan dan garis dasar SVN ditubuhkan dengan melakukan "salinan": Ingat bagaimana kami melaksanakan pengurusan yang dipanggil "cawangan" dan "garis dasar" sebelum alat pengurusan versi diperkenalkan? Jawapannya jelas "salinan" - kami mewujudkan garis dasar melalui "salinan" atau "sandaran" sama, untuk menyokong berbilang pembangun membangun pada masa yang sama, kami membuat "salinan" untuk setiap pembangun. |
(Perkongsian video pembelajaran: Video Pengaturcaraan Asas)
Atas ialah kandungan terperinci Apakah perbezaan antara svn dan cvs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!