<<返回在线教程

下一个: , 上一个: Binary files, 上层: Top


10 多人开发

当软件项目不再由一个人来开发的时候,事情总会变得复杂起来。因为经常会碰到两个人 同时编辑一份文件的情况发生。有一种解决方案,文件加锁(file locking)或者 节制检出(reserved checkouts),就是每份文件每次只允许一个人来编辑。这种 方法在很多版本控制软件中使用,比如 rcssccs。当前在 cvs 中通常 可以用 cvs admin -l 命令来做到节制检出 (参阅 admin options)。这点在 cvs 里不如监视(watch)特性做的好,后文有述,但对于寻找“节制检出”手段的人 来说也够用。

cvs 1.12.10 以后的版本,获得大部分节制检出功能的另外一种技术是打开 “advisory locks”。为了打开“advisory locks”,所有的开发人员要将 "edit -c", "commit -c" 放入它们的 .cvsrc 文件中。然后在仓库里面打开监视。如果有人已经编辑 此文件,这将阻止他们执行 cvs edit。这也可以配合普通的监视,使用适当的过程 (非软件强制),避免两个人同时编辑。

cvs 默认的模型为无保留检出(unreserved checkouts)。这种模型下, 多个开发人员可以同时编辑自己的工作副本(working copy)。第一个提交修改的人 无法自动得知其他人已经开始编辑它。其他人在提交此文件的时候将得到错误消息。然后 他们必须要用 cvs 命令使自己的工作副本用仓库修订版本来更新。这一过程几乎是 自动的。

cvs 还支援各种便利的沟通方式,而不是像节制检出那样用强制的规则。

本章余下部分将解释这些工作模式,和一些涉及在它们间选择的问题。