工作副本根以外的路径上的 SVN Mergeinfo 属性
Posted
技术标签:
【中文标题】工作副本根以外的路径上的 SVN Mergeinfo 属性【英文标题】:SVN Mergeinfo properties on paths other than the working copy root 【发布时间】:2010-09-28 08:35:14 【问题描述】:我有一个 SVN 存储库,其中有主干和分支。
我打算定期将主干合并到分支中,但是,当我这样做时,除了实际文件内容更改外,我还看到许多属性状态更改。
在进一步调查中,属性更改是 mergeinfo 属性。我没想到会这样,因为我们总是从***根级别分支和合并。
在合并主干之前,我使用了svn propdel
命令并从分支WC 中删除了所有mergeinfo 属性(然后恢复了根上的更改),问题就消失了。
所以问题是,我的分支是如何在子目录级别获得所有这些mergeinfo 更改的?
【问题讨论】:
+1:我见过这种事情,我们甚至没有在服务器上使用 svn 1.5(使用自制的合并跟踪工具)。我很想听听一些解释,因为它在更改日志中看起来很可怕(我没有碰那个文件!!哦,这只是一些属性更改......) 【参考方案1】:Subversion 1.5.x 添加了很多 svn:mergeinfo 属性,甚至在您认为与合并无关的文件/文件夹上也是如此。但是 Subversion 仍然使用这些来减少后续合并的合并时间。
如果您不喜欢这些,您可以安全地从所有不属于合并的文件/文件夹中删除那些修改/添加的 svn:mergeinfo 属性(将其保留在工作副本根目录和获得的文件/文件夹中合并后的变化)。
如果在 1.6 版本中一切都按计划进行,Subversion 1.6 将大大减少这些 svn:mergeinfo 属性。
【讨论】:
+1。很好的解释。可能您知道是否可以禁用对那些未修改的文件的属性的修改?设置一些选项可能会很好,不要再担心这个了。谢谢。 知道这是服务器端还是客户端功能? 我正在使用 svn 1.6.6 仍然看到这个问题。【参考方案2】:Subversion 1.5.5 中至少修复了这个错误的一部分。来自1.5.5 CHANGES file:
不要为 wc-wc 移动或复制创建合并信息 (r34184, -585)
也就是说,在 1.5 之前的 SVN 中存在一个错误,它会创建它不使用并且是多余的合并信息条目。
【讨论】:
以上是关于工作副本根以外的路径上的 SVN Mergeinfo 属性的主要内容,如果未能解决你的问题,请参考以下文章