什么版本的控制系统最适合*防止*并发编辑?

Fre*_*ton 6 svn cvs version-control mercurial

多年来,我们一直在使用CVS(使用TortoiseCVS接口)进行源代码控制和广泛的文档控制(包括Word,Excel,Framemaker,测试数据,模拟结果等二进制文件).与典型的版本控制系统不同,99%的时间我们想要防止并发编辑 - 当用户开始编辑文件时,文件的预编辑版本变得只读给其他人.

许多将使用它的人不是程序员,甚至不是计算机专家,所以我们也在寻找一个系统,让人们只需将文档添加到存储库,检出并编辑文档(除非其他人正在编辑它),并以最小的麻烦重新检查它.

我们已经用CVS + TortoiseCVS很好地工作了,但是我们现在正在考虑Subversion和Mercurial(如果他们更合适的话,可以向其他人开放)以获得更好的版本跟踪,所以我想知道哪一个支持锁定文件最透明.例如,我们想为默认启用独占锁定,并且我们要尽可能它很难有人不小心启动编辑别人已经签出的文件.例如,当某人签出文件进行编辑时,即使他们最近没有更新过他们的沙箱,也会先检查主数据库.也许它甚至不会让用户签出文件,如果它不在网络上并且无法与母舰签到.

Arn*_*ter 10

Subversion提供强制锁定.svn:needs-lock设置Propoerty后,文件将以只读方式签出,用户需要将其锁定以获取可写的工作副本.没有其他用户可以从那里锁定相同的文件.


小智 5

我知道它不在您的名单上,但我们对Perforce感到满意.你可以防止多次结账

您的Perforce管理员可以使用p4 typemap命令确保指定类型的所有文件(例如,所有.gif文件的//depot/.../*.gif)一次只能由一个用户打开.有关详细信息,请参阅Perforce命令参考.