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

web*_*ter 5 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$
Run Code Online (Sandbox Code Playgroud)

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

如何解决这个问题?

hyd*_*yde 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
Run Code Online (Sandbox Code Playgroud)

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


Mic*_*per 5

状态输出中的错误消息说明了一切:

> local dir unversioned, incoming dir add upon update
Run Code Online (Sandbox Code Playgroud)

这意味着您tmp在工作副本中使用创建了一个目录mkdir,但尚未将其添加到存储库中,尽管您可能已经在本地使用svn add. 运行时svn update,将从存储库中tmp签出不同的目录,这将覆盖您的tmp目录,除非您修复此问题。

根据经验,尽量不要与其他人在单个分支/主干中处理项目的相同部分,因为这最终会导致前所未有的合并冲突问题。

以下 SVNBook 章节是必读的: