Chúng tôi đã sử dụng CVS (với giao diện TortoiseCVS) trong nhiều năm cho cả điều khiển nguồn và kiểm soát tài liệu rộng (bao gồm các tệp nhị phân như Word, Excel, Framemaker, dữ liệu thử nghiệm, kết quả mô phỏng, v.v.). Không giống như các hệ thống kiểm soát phiên bản thông thường, 99% thời gian chúng tôi muốn ngăn chỉnh sửa đồng thời - khi người dùng bắt đầu chỉnh sửa tệp, phiên bản chỉnh sửa trước của tệp sẽ chỉ được đọc cho tất cả những người khác. Nhiều người trong số những người sẽ sử dụng này không phải là lập trình viên hoặc thậm chí là hiểu biết về máy tính, vì vậy chúng tôi cũng đang tìm kiếm một hệ thống để mọi người chỉ cần thêm tài liệu vào kho lưu trữ, kiểm tra và chỉnh sửa tài liệu (trừ khi có ai đó). khác hiện đang chỉnh sửa nó), và kiểm tra nó trở lại với tối thiểu là phiền phức.Hệ thống kiểm soát phiên bản nào được thiết kế tốt nhất để * ngăn chặn * chỉnh sửa đồng thời?
Chúng tôi đã làm việc này hợp lý với CVS + TortoiseCVS, nhưng hiện tại chúng tôi đang xem xét Subversion và Mercurial (và mở cho người khác nếu họ phù hợp hơn) để theo dõi phiên bản tốt hơn, vì vậy tôi đã tự hỏi cái nào đã hỗ trợ khóa tệp một cách minh bạch nhất. Ví dụ: chúng tôi muốn kích hoạt khóa độc quyền làm mặc định và chúng tôi muốn làm cho người khác vô tình gặp khó khăn khi bắt đầu chỉnh sửa tệp mà người khác đã kiểm tra. Ví dụ: khi ai đó kiểm tra tệp để chỉnh sửa, nó sẽ kiểm tra với cơ sở dữ liệu chính trước tiên ngay cả khi gần đây họ không cập nhật sandbox của mình. Có lẽ nó thậm chí sẽ không cho phép một người dùng kiểm tra một tài liệu nếu nó ra khỏi mạng và không thể kiểm tra với các bà mẹ.
Wikipedia là một bài viết tuyệt vời so sánh các sản phẩm: [http://en.wikipedia.org/wiki/Comparison_of_revision_control_software](http://en.wikipedia.org/wiki/Comparison_of_revision_control_software) –