将trunk合并到SVN中未更改的分支时出现问题

时间:2011-08-09 23:19:35

标签: svn merge versioning branching-and-merging tree-conflict

我有一个SVN存储库,我有以下结构:

 +-trunk
 |   |
 |   +-dir1
 |   |
 |   +-dir2
 | 
 +-branches
 |
 +-tags

我正在尝试对dir1进行一些重大更改,所以我为它创建了一个新的分支,因为dir2非常重,并且需要很长时间来检查我创建的每个新分支。 所以我这样做了:

$ svn copy http://server/svn/project/trunk/dir1 http://server/svn/project/branches/branch1 -m "creating a new branch"
$ svn co http://server/svn/project/branches/branch1

到目前为止没有问题。每当我尝试再次将trunk更新为新分支时,问题就出现了。

$ cd branch1
$ svn merge http://server/svn/project/trunk/dir1

当我这样做时,我会得到这样的结果:

C file1
C file2
[many C lines here]

Summary of conflicts:
  Tree conflicts: 114

一个重要的细节是我在创建和签出分支后立即尝试合并,因此分支或主干没有变化。

那么,我在这里做错了什么?为什么我收到所有这些树冲突?

提前致谢!

2 个答案:

答案 0 :(得分:1)

我最终找到了问题。

我的SVN服务器是< 1.5,分支合并信息仅从1.5中存储在服务器中。

因此,当我进行合并时,不是从创建合并的修订中合并,而是将所有修订合并为1,因此存在很多树冲突。

答案 1 :(得分:0)

我们简要讨论当您的存储库不支持“使用Subversion进行版本控制”一书中的合并跟踪时如何处理合并。请参阅本书的这一部分(http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.branchemerge.basicmerging.stayinsync)边栏中的“保持分支同步而不合并跟踪”侧边栏