我正在将分支上的修改合并到trunk(使用TortoiseSVN 1.7.10,Build 23359 - 64 Bit).
当我运行merge info命令时,例如
svn mergeinfo https://url/code/branches/project.2.5/@{2012-12-11} https://url/code/trunk -R --show-revs=eligible
Run Code Online (Sandbox Code Playgroud)
我找回了一个标有星星的修订版
r12345*
Run Code Online (Sandbox Code Playgroud)
如果我检查trunk上的svn:mergeinfo属性,那个修订版号看起来好像是合并的,例如
/code/branches/project.2.5:10000-15000
Run Code Online (Sandbox Code Playgroud)
因此,如果我理解正确,该修订已合并,那为什么它仍然被认为是合格的?
(对于上下文,我有一个日常任务,监视所有分支和报告,当他们中的任何一个有任何未完成的合并,所以我可以跟踪任何有可能与主干发散得太厉害的分支.我想知道我是否可以忽略此修订或是否需要特别注意.)
结果中的星号是什么意思?
回答我自己的问题,但在一位同事指出手册中的合并信息部分,特别是Mergeinfo Inheritance 和 Non-Inheritable Ranges部分之后。
基本上,问题在于svnmergeinfo路径中存在冲突的属性 - 因此,虽然在根级别看起来修订版已被合并,但树中更靠下的目录,更接近在不合格修订版中实际更改的文件,包含相互矛盾的信息。
在我的情况下,这可能是因为我手动更新根级别属性,而没有意识到某些子目录具有自己的、冲突的、先前的合并信息值。