解决树冲突


84

如何解决当前场景中的树冲突。

C:\DevBranch
C:\MyBranch

我更新了两个分支。编辑MyBranch,然后重新提交。现在想将这些更改合并到DevBranch中。当我进行合并时,我会遇到“树冲突”

The last merge operation tried to add the file 'abc.def', but it was already added locally.

How do you want to resolve this conflict?
Keep the file from repository
Keep the local file

我该如何解决?

Answers:


167

解决冲突的方法是

svn resolve --accept working -R <path>

您在<path>哪里遇到冲突(可以是您的回购协议的根源)。

说明:

  • resolve要求svn解决冲突
  • accept working 指定保留您的工作文件
  • -R 代表递归

希望这可以帮助。

编辑:

总结以下评论中的内容:

  • <path>应该是有冲突的目录(C:\DevBranch\对于OP)
  • 冲突的根源很可能是
    • 要么使用svn switch命令
    • Switch working copy to new branch/tag在创建分支机构时选中了该选项
  • 有关冲突的更多信息,请参见Tortoise文档专用部分
  • 为了能够运行该命令,您应该与Tortoise一起安装CLI工具:

命令行客户端工具


应该走什么路?C:\ DevBranch还是C:\ MyBranch?
coure2011 2012年

2
应该是C:\DevBranch。顺便说一句,您是否svn switch在这两个文件夹之一中使用了该命令?
Yannick Blondau 2012年

1
我认为在创建分支时,我使用了“切换工作目录”
coure2011 2012年

@Luke如果将CLI工具与Tortoise一起安装,则可以这样做。只需cd从工作副本的根目录执行即可svn resolve --accept working -R ./。如果您需要有关使用Tortoise进行操作的更多信息,可以查看文档的专用部分...希望对您有所帮助!
Yannick Blondau

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.