我们尝试仅将“svn:mergeinfo”属性保留在根分支文件夹上。然而,我们不断看到它渗入子文件夹中。我们已经能够确定一些可能的原因:
- 在存储库浏览器中移动文件夹
- 在 IntelliJ 中移动和/或重命名包
- 使用旧的 svn 客户端
任何人都可以提供我们不应该做的事情的列表,以避免意外创建这些属性吗?
我们使用的工具是 IntelliJ 8(即将推出 9)、Ankh、TortoiseSVN 和 SlikSvn。
不幸的是,旧的 svn 客户端就是这么做的,任何基于这些旧版本 svn 的工具也都被破坏了。解决此问题的唯一方法是在提交之前删除创建的 svn:mergeinfo 条目。由于大多数人不知道它们已被创建,因此强制执行这一点的唯一真正方法是预提交挂钩,或者只是简单地执行以下操作:
svn propdel --recursive svn:mergeinfo $ROOT/*
时不时地清理它们。执行此操作时要小心,因为它会破坏您所创建的部分合并的任何记录have完成,所以你真的应该只在你确实不进行部分合并的情况下才这样做。提问者不知道,我们周围的环境也不知道。
该问题已在较新的 svn 客户端中得到解决,因此问题应该会慢慢消失,但这可能需要一些时间才能替换工作流程中的所有工具。
根据此问题的另一个答案,快速解释导致问题的原因。当您执行工作副本移动或删除 1.5.5 之前的 svn 客户端时,会创建一个虚假的 svn:mergeinfo 条目。这是svn 1.5.5 已解决 http://svn.collab.net/repos/svn/trunk/CHANGES.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)