我的情况是这样的:我在家里设置了一个 Subversion 服务器,我们也在我工作的公司使用 Subversion。
在工作中,我们使用锁定/编辑/解锁模型(主要是因为我们正在从 Visual SourceSafe 过渡,目前它更容易)。目前,这是通过在所有添加的文件上设置“needs-lock”属性来实现的(使用每台客户端机器上的 SVN 客户端配置文件的 auto-props 部分)。
但是,我不想将此模型用于我的家庭 SVN 服务器(我更喜欢编辑/合并/提交的工作方式),所以目前在我将工作 PC 上的任何内容提交到家庭服务器之后,我必须手动删除我添加的任何文件中的 needs-lock 属性。
有没有办法可以将 SVN 客户端设置为仅将此属性应用于提交给特定服务器的文件?或者我是不是走错了路:我应该在工作服务器上使用钩子(Hook)而不是客户端来添加这个属性吗?
非常感谢任何帮助或建议。
编辑:显然,您不能在服务器上执行此操作(或者至少强烈建议您不要这样做)。
最佳答案
我还编写了一个小的 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
而且,所有文件不再需要锁定来编辑。
关于svn - 颠覆 : how to remove property on commit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1536824/