我的情况是这样的:我在家里设置了Subversion服务器,我们也在我工作的公司使用Subversion。
在工作中,我们使用锁定/编辑/解锁模型(主要是因为我们正在从Visual SourceSafe转换,目前更容易)。目前,这是通过在所有添加的文件上设置'needs-lock'属性来实现的(使用每台客户端计算机上SVN客户端配置文件的auto-props部分)。
但是,我不想将这个模型用于我的家庭SVN服务器(我更喜欢编辑/合并/提交工作方式),所以目前在我从工作PC到我的家庭服务器提交任何东西后,我有从我添加的任何文件中手动删除needs-lock属性。
有没有办法设置SVN客户端只将此属性应用于提交给特定服务器的文件?或者我是以错误的方式去做的:我应该在工作服务器上使用钩子来添加这个属性而不是客户端吗?
非常感谢任何帮助或建议。
编辑:显然,你不能在服务器上这样做(或者至少强烈建议你不这样做。)
答案 0 :(得分:10)
我还写了一个小的Windows批处理文件,以递归方式从已经设置的任何文件夹中删除needs-lock
属性。将这些行放入文本文件中:
svn propdel svn:needs-lock -R -q "%1"
svn commit "%1" -m "Removed needs-lock"
将其另存为remove-needs-lock.bat
,并将其位置添加到PATH环境变量中。然后你可以运行:
remove-needs-lock c:\workingcopyfoldername
并且presto,所有文件不再需要锁定进行编辑。
答案 1 :(得分:3)