尽管这里有几个类似的问题(例如,SVN - Reintegration Merge error: "must be ancestrally related")和Web上,但我无法弄清楚为什么svn mergeinfo <file>
在我的所有SVN存储库中导致错误。与所有其他Q &正如我所发现的那样,我实际上能够成功执行svn merge
。例如,撤销先前提交到pom.xml
文件:svn mergeinfo - E195016:“必须是祖先相关的”
svn merge -r 17409:17408 pom.xml
--- Reverse-merging r17409 into 'pom.xml':
U pom.xml
--- Recording mergeinfo for reverse merge of r17409 into 'pom.xml':
U pom.xml
--- Eliding mergeinfo from 'pom.xml':
U pom.xml
然而,当我执行svn mergeinfo
,我得到以下错误:
svn: E195016: 'https://../trunk/MyProject/[email protected]' must be ancestrally related to
'https://../trunk/[email protected]'
在这个例子中,50446是目前的最新版本号对于我试过的每个文件,我都会得到同样的错误。只有当我在顶部目录本身执行mergeinfo命令时,它才起作用:
svn mergeinfo .
youngest common ancestor
| last full merge
| | tip of branch
| | | repository path
50446 50446
| |
-------| |------------ ../trunk/MyProject
\
\
--| |------------ ../trunk/MyProject
|
50446
而且即使是陌生人,我也没有发现任何mergeinfo属性集。像svn propget svn:mergeinfo --recursive
或svn propget svn:mergeinfo --depth=infinity
命令不输出任何内容,与状态代码成功返回0
有没有人有一个想法,我怎么能解决我们的文件是“祖先相关的”再次它们位于项目?
远在历史中,我看到一个提交(带有'svn log --verbose --stop-on-copy'),其中有人通过删除它来移动目录'D/base/trunk/lib/plugin'并添加它进入另一个主干'A/tools/trunk/plugin(从/ base/trunk/lib/plugin:16026)'。这是否会解释我为什么会遇到这些错误? – dokaspar
@dokaspar我重读你的问题,并注意到我误解了你的问题。改进我的答案,正确解决您的问题。请,你能检查它吗? – MiguelKVidal
所以再次归结为RTFM :) – dokaspar