首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >svn mergeinfo - E195016:“必须与祖先相关”

svn mergeinfo - E195016:“必须与祖先相关”
EN

Stack Overflow用户
提问于 2017-08-10 21:44:30
回答 1查看 1.6K关注 0票数 2

尽管这里有几个类似的问题(例如,SVN - Reintegration Merge error: "must be ancestrally related")和网络上的问题,但我无法弄清楚为什么svn mergeinfo <file>会在我的所有SVN存储库中造成错误。与我所发现的所有其他问题相反,我实际上能够成功地执行svn merge。例如,撤消对pom.xml文件的前一次提交:

代码语言:javascript
复制
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时,会得到以下错误:

代码语言:javascript
复制
svn: E195016: 'https://../trunk/MyProject/pom.xml@50446' must be ancestrally related to
'https://../trunk/MyProject@50446'

在本例中,50446是当前的头修订号,对于我尝试过的每个文件,我都会得到相同的错误。只有当我在顶层目录本身上执行mergeinfo命令时,它才能工作:

代码语言:javascript
复制
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 --recursivesvn propget svn:mergeinfo --depth=infinity这样的命令不会输出任何内容,并且使用状态代码0成功返回。

有没有人知道我如何将我们的文件修复成与他们所在的项目“祖先相关”?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-03 18:42:35

简短的回答:svn mergeinfo <file>错了。

来自SVN文档(svn帮助合并信息):

“总结源与目标融合的历史。” “源和目标分别是源和目标分支URL。” “默认目标是当前工作目录(‘.’)。”

因此,如果您的命令类似于svn mergeinfo pom.xml,那么错误消息将如预期的那样,因为该文件和它的目录之间没有“祖先关系”。

正确的命令是:svn mergeinfo pom.xml pom.xml,这将比较这两个文件,可能是您想要的。

运行svn mergeinfo .时,这与运行svn mergeinfo . .是一样的。所以它起作用了,你得到了mergeinfo输出。

您还可以运行svn mergeinfo pom.xml pom.xml@12345,以比较特定的修订版。

在尝试合并不相关的事物时,也可以得到此错误。

如果您手动创建目录树(我的意思是:不使用分支功能),那么它们是不相关的,您将得到这个错误。

请阅读this question,并注意作者手动创建了分支dev,从而破坏了SVN。

在这种情况下,最好的解决方案是正常创建分支,手动将所有文件迁移到这个分支(复制粘贴所有文件),然后将其合并回主干。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45623895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档