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 working
和 svn 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 合并后树冲突 - “本地删除,合并时传入编辑”的主要内容,如果未能解决你的问题,请参考以下文章