Мы годами использовали CVS (с интерфейсом TortoiseCVS) как для управления исходным кодом, так и для широкого контроля документов (включая двоичные файлы, такие как Word, Excel, Framemaker, данные испытаний, результаты моделирования и т. Д.). В отличие от типичных систем контроля версий, в 99% случаев мы хотим предотвращать одновременное редактирование - когда пользователь начинает редактировать файл, предварительно отредактированная версия файла становится доступной только для чтения всем остальным.
Многие из людей, которые будут использовать это, не являются программистами или даже не разбираются в компьютерах, поэтому мы также ищем систему, которая позволила бы людям просто добавлять документы в хранилище, проверять и редактировать документ (если кто-то еще в настоящее время редактирует), и проверьте его снова с минимумом суеты.
Мы добились, чтобы это работало достаточно хорошо с CVS + TortoiseCVS, но теперь мы рассматриваем Subversion и Mercurial (и открыты для других, если они лучше подходят) для их лучшего отслеживания версий, поэтому мне было интересно, какие один поддерживает блокировку файлов наиболее прозрачно. Например, мы бы хотели, чтобы по умолчанию была включена эксклюзивная блокировка, и мы хотим, чтобы кто-то случайно начал редактировать файл, извлеченный кем-то другим, как можно сложнее. Например, когда кто-то извлекает файл для редактирования, он сначала проверяет базу данных master , даже если он недавно не обновил свою песочницу . Возможно, он даже не позволит пользователю проверить документ, если он не подключен к сети и не может зарегистрироваться с помощью корабля.