我们有一个存储库,其中每种情况下主干都分支了;在分支机构完成工作;有时,主干中的最新更改会再次合并(同步)到分支中;最后,当所有工作完成后,分支将合并(重新集成)到主干中,并且分支将被删除。 (过去我们曾经有一个不同的工作流程,但我们已经更改了该工作流程。)
我现在注意到该中继具有一个名为svn:mergeinfo的属性。如果我理解正确,则此属性将跟踪已被删除的所有分支。 重新集成到主干中,以防万一我们稍后再将同一分支重新集成到主干中,以便SVN知道该分支中的什么已经重新集成了。
但是我注意到主干上的svn:mergeinfo一直在增长,关于已删除分支的条目并未从svn:mergeinfo中删除。
我什至进行了一项测试,我从主干分支出来,在一个修订版中更改了一个文件,进行了完全重新集成并删除了该分支。 Trunk现在在svn:mergeinfo中有一个我重新整合的分支的条目。
我不知道这是正常行为还是我们做错了什么。我们的SVN最近在切换和合并时变得有点慢,我想知道这是否相关。我也不知道是否可以或应该手动修剪svn:mergeinfo。
答案 0 :(得分:3)
这是正常现象,财产会不断增长。我不建议手动编辑属性。
SVN book states(被我加粗):
单个路径上的svn:mergeinfo数量可能会很大,在处理大量子树mergeinfo时,svn propget --recursive或svn proplist --recursive的输出也可以。请参阅“子树合并和子树合并信息”部分。在这些情况下,-verbose选项与这两个子命令之一生成的格式化输出通常非常有用。
它还警告您手动编辑属性:
虽然可以像修改任何其他版本化属性一样修改svn:mergeinfo,但除非您真的知道自己在做什么,否则我们强烈建议不要这样做。