Subversion 合并后树冲突 - “本地删除,合并时传入编辑”

Posted

技术标签:

【中文标题】Subversion 合并后树冲突 - “本地删除,合并时传入编辑”【英文标题】:Subversion post-merge tree conflict - "local delete, incoming edit upon merge" 【发布时间】:2011-04-16 03:50:18 【问题描述】:

我在主干和分支之间进行了合并。

在树干上,有一个文件夹,比如说templates/Toto。

在分支上,除了 Toto 文件夹之外的所有内容都在那里(不是本地删除,Toto 根本不在 repo 中)。

在我执行了合并之后(我尝试了几次),我总是以“本地删除,合并时传入的编辑”这个可怕的树冲突而告终。但是,正如我所说,这不是本地删除。

解决这个问题的正确方法是什么?正确地说,我绝对不是指从主干到分支手动复制 Toto。

我阅读了文档,但我仍然卡住了。

【问题讨论】:

【参考方案1】:

您在客户端和服务器端使用什么版本的 subversion?服务器上的版本 1.4.x 和客户端上的 1.6.x 可能会出现“树错误”。

参考SVN how to resolve new tree conflicts when file is added on two branches

svn resolve --accept working

可能会完成这项工作。

【讨论】:

我猜 svn cleanup 也没有帮助。 svn status -u 说什么? svn diff 如何处理您的“Toto”文件夹? 不幸的是,这只能“解决”冲突。它不会使丢失的目录出现,在我看来,缺少目录自然看起来像是合并缺陷。 @IvanBalashov:同意你的看法。所以我用这些命令“修复”了它:svn status | grep ? | colrm 1 8 |xargs svn resolve --accept workingsvn status | grep ? | colrm 1 8 |xargs svn add 输入svn resolve --accept working 对我不起作用,我得到svn: E205001: Not enough arguments provided。 (颠覆 1.7.7。)【参考方案2】:
svn resolve --accept theirs-full templates/Toto

这应该将它从主干中带入文件夹,而无需您手动复制它

【讨论】:

这对我不起作用。产生的错误消息是:svn:警告:树冲突只能解决到“工作”状态; 'src/main/resources/config/dir' 未解决【参考方案3】:

与 1.6.x 相同的问题,这对我有用(与上述答案略有不同,对我不起作用):

svn resolve --accept working templates/Toto

【讨论】:

【参考方案4】:

如果以下方法不起作用(它不适合我),请通过 IDE 尝试。我通过 Netbeans 进行了尝试,并且成功了。

首先选择目录并解决冲突。它会自动询问您是否要接受您的工作目录结构。

svn resolve --accept working templates/Toto

【讨论】:

以上是关于Subversion 合并后树冲突 - “本地删除,合并时传入编辑”的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在 Subversion 中遇到树冲突?

svn merge树冲突怎么解决

如何将 kdiff3 设置为 SVN 的合并工具

更好的 Subversion 合并工具 [关闭]

Subversion:如何找到所有未合并到主干的修订?

在 Subversion 中跨分支合并并不是添加所有新文件。为啥不?