CVS chỉ theo dõi sửa đổi trên cơ sở từng tệp, trong khi SVN theo dõi toàn bộ cam kết dưới dạng bản sửa đổi mới, có nghĩa là dễ dàng theo dõi lịch sử dự án của bạn. Thêm một thực tế là tất cả các phần mềm điều khiển nguồn hiện đại sử dụng khái niệm sửa đổi để di chuyển dễ dàng hơn từ SVN hơn là từ CVS.
Ngoài ra còn có vấn đề cam kết nguyên tử. Trong khi tôi chỉ gặp phải nó một lần, có thể là 2 người cam kết cùng nhau trong CVS có thể xung đột nhau, mất một số dữ liệu và đưa khách hàng của bạn vào trạng thái không nhất quán. Khi phát hiện sớm, những vấn đề này không lớn vì dữ liệu của bạn vẫn còn ở đâu đó, nhưng nó có thể là một cơn đau trong một môi trường căng thẳng.
Và cuối cùng, không có nhiều công cụ được phát triển xung quanh CVS nữa. Trong khi các công cụ mới và sáng bóng như Git hay Mercurial chắc chắn thiếu các công cụ, SVN có một cơ sở ứng dụng khá lớn trên bất kỳ hệ thống nào.
EDIT 2015: Nghiêm túc, câu trả lời này hiện đã được 7 tuổi. Quên SVN đi, hãy dùng Git như mọi người khác!
Nguồn
2008-08-04 14:17:59
Tôi muốn câu trả lời tương tự cho git vs subversion và git vs mercurial –