Q: Svn默认是并行开发模式的,我想要CC那样进行串行开发(一人改完另一人才能修改),怎么设置?
A:
默认情况下,所有的文件都没有锁定,只要有提交权限的人都可以在任何时候提交任何的文件。其他人会定时更新他们的工作副本,在库中的改变的东西都会与本地合并。(并行开发模式)
如果对一个文件 取得锁定,那么只有你可以提交这个文件。其他用户的提交都会被拒绝,直到你释放了这个锁。一个被锁定的文件不能在库中进行任何形式的合并。所以它不能让锁的拥用者之外的人删除或更名。(串行开发模式)
方法一(不用任何设置):
好处:方便快捷
坏处:可能会影响他人的提交,如果发成冲突他人需要进行合并操作
直接选中您要获取锁的文件,反键
虽然别人并不知道你已经获取锁了(svn不会通知服务器),但此时只有你才能进行提交,别人再提交时会报错,提示已经被你锁定。提交完毕后请释放锁
方法二(需要添加文件的svn属性):
好处:真正的并行开发,没有获得锁就不能修改,不会出现合并问题
坏处:需要进行一次性的属性的手工设置
此方式可以给需要串行开发的文件加上svn:needs-lock属性(注意:只有文件才有这个属性)
选中需要加属性的文件,反键->属性->subversion选项卡->属性…
点击添加,在“增加属性”对话框中属性下拉列表里面选择“svn:needs-lock”
点击确定
最后,记得提交到服务器,这样当其他人再次update的时候他们本地的文件也会有加锁的属性了。之后再开发的话必须要先如方法已一样先“获取锁”才可以对文件进行修改了。