Salah satu alasan mengapa programmer lebih suka SVN daripada CVS adalah karena mantan memungkinkan atom melakukan? Apa artinya ini ?
svn
versioning
cvs
Kutu buku
sumber
sumber
Jawaban:
Ini berarti bahwa ketika Anda melakukan komit ke sistem kontrol versi baik semua yang Anda ingin komit masuk, ATAU tidak ada yang berhasil.
Di CVS, ketika Anda mencoba komit, komit mungkin berhasil di beberapa file, lalu gagal di beberapa file lain (karena mereka telah berubah). Ini meninggalkan repositori dalam keadaan yang tidak menguntungkan karena setengah dari komit Anda tidak ada di sana, dan kemungkinan Anda telah meninggalkan beberapa hal dalam keadaan di mana mereka tidak akan dikompilasi atau lebih buruk. Sekarang Anda harus cepat dan mengintegrasikan perubahan apa pun sehingga Anda dapat melakukan file lain sebelum orang lain perlu memperbarui dan mendapatkan set perubahan yang rusak.
Dalam SVN ini tidak akan terjadi - SVN akan melakukan semua yang telah Anda ubah, atau itu akan gagal keseluruhan perubahan. Dengan demikian, Anda tidak akan pernah meninggalkan repositori dalam keadaan rusak karena melakukan masalah.
sumber
Ini dijelaskan misalnya dalam Bye-bye CVS. Saya telah ditumbangkan artikel yang ditulis oleh Andy Lester :
Fakta bahwa CVS memaksa pemrogram untuk memperbaiki penggabungan dengan segera sama kontraproduktifnya. Dibandingkan dengan itu, opsi untuk menunda / membatalkan / menggabungkan perubahan adalah keuntungan besar.
Manfaat lain dari SVN dibandingkan CVS yang dijelaskan dalam artikel di atas adalah:
sumber
Ini berarti bahwa semua perubahan pada semua file dilakukan dalam satu transaksi, sehingga semua berhasil atau tidak ada.
Ini berarti bahwa Anda lebih kecil kemungkinannya untuk mendapatkan suntingan sebagian di dalam repositori yang menyebabkan build gagal. Anda masih bisa membuat orang lupa untuk memeriksa semua file yang relevan, tetapi itu masalah proses daripada masalah dengan sistem versi.
sumber