如何修复SVN中的树冲突问题

时间:2014-12-18 04:19:04

标签: svn

我是SVN的新手。

我发现了一条冲突消息,如下所示:

rahulv@SWS306:~/sp/s2$ svn status
M       Gemfile
M       Gemfile.lock
M       config/intializers/secret_token.rb
D     C tmp
      >   local dir unversioned, incoming dir add upon update
D       tmp/cache
?       tmp/data
D       tmp/pids
D       tmp/sessions
D       tmp/sockets
Summary of conflicts:
  Tree conflicts: 1
rahulv@SWS306:~/sp/s2$

使用'svn up'命令更新后出现此问题。

如何解决此问题?

2 个答案:

答案 0 :(得分:13)

我今天遇到了这个问题,因为我不想保留新版本目录的当前内容,所以简单的解决方案是:

svn status      # review current situation
svn revert tmp  # fix, replace tmp with right path for you
svn status      # verify there are no conflicts any more

当然,如果对现有的非版本化目录包含任何有价值的内容有任何疑问,请先将其复制到其他位置(然后在还原后添加到SVN,如果这些文件应该受版本控制)。 / p>

答案 1 :(得分:4)

状态输出中的错误消息显示全部:

> local dir unversioned, incoming dir add upon update

这意味着您使用tmp在工作副本中创建了mkdir目录,但将其添加到存储库(尚未),尽管您可能已添加它使用svn add 本地。运行svn update时,会从存储库中检出另一个tmp目录,这将覆盖您的tmp目录,除非您解决此问题。

根据经验,尽量不要在一个分支/主干中与其他人一起处理项目的相同部分,因为这最终会导致合并冲突头痛,这是一个闻所未闻的比例。

必须阅读以下SVNBook章节: