svn分支合并树冲突问题(使用乌龟) [英] svn branch merge tree conflict issue (using tortoise)

查看:482
本文介绍了svn分支合并树冲突问题(使用乌龟)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在这方面读了很多书,但不知道是什么问题,这很奇怪。
我正在使用服务器的1.7版和客户端的最新乌龟版(1.7)。情况如下:

I have read a lot and lot on this but couldn't figure out what the issue is, and it's pretty weird. I am using version 1.7 for server and latest tortoise version (1.7) for the client. Here's the scenario:


  1. 我创建了一个父分支,然后从中创建了一个子分支。
    因此,PARENT_BRANCH-> CHILD_BRANCH

  2. 在CHILD_BRANCH中添加新目录并提交。

  3. 使用乌龟将所有从CHILD_BRANCH更改为PARENT_BRANCH的更改。我使用了合并一系列修订选项,但未在该选项中指定任何修订,因此基本上让svn标识并管理要合并的修订。

  4. 合并后,新目录在PARENT_BRANCH中创建。

  5. 从PARENT_BRANCH-> CHILD_BRANCH合并回来。

  6. 我在新目录上遇到树冲突,错误是

  1. I created a parent branch, and then created 1 child branch from it. So, PARENT_BRANCH -> CHILD_BRANCH
  2. Add a new directory in CHILD_BRANCH and commit.
  3. Using tortoise merge all changes from CHILD_BRANCH to PARENT_BRANCH. I used 'merge a range of revisions' option and didn't specify any revisions in the option, so basically let svn identify and manage the revisions to merge.
  4. After the merge, the new directory is created in PARENT_BRANCH.
  5. Merge back from PARENT_BRANCH -> CHILD_BRANCH.
  6. I get tree conflict on the new directory, with the error that the directory its trying to add is already there.

当然,该目录位于子分支中,因为它最初来自此目录。虽然我说svn 1.5+会使用merge-info进行合并,并且应该知道这是目录所在的分支,并且不应引发树合并错误。

Well, of course the directory is there in child branch as that's where it originally came from. I though that svn 1.5+ tracks merges using merge-info, and should have known this is the branch from where the directory came and should not throw the tree merge error.

知道发生了什么,如何解决?
我给出的示例仅针对1个目录,但实际上有很多目录和文件,因此手动逐个进行需要花费数小时。

Any idea what's going on and how can I fix this? The example I gave is just for 1 directory, but in reality there are lots of directories and files, so going one by one manually takes hours.

推荐答案

问题是CHILD和PARENT都有不同的修订版本,它们添加了相同的文件夹。 CHILD在第4步中对修订一无所知。

The problem is that both CHILD and PARENT have different revisions which added the same folder. CHILD doesn't have any knowledge of the revision in your step 4.

从CHILD到PARENT的每次合并之后(您的第4步),您都需要立即针对CHILD进行记录它具有从CHILD到PARENT合并的修订版本。您可以通过将PARENT中的修订版本合并到CHILD中并在tortoisesvn中检查此标志来实现:

Immediately after every merge from CHILD to PARENT (your step 4.) you need to record against CHILD that it has the revision of the merge from CHILD to PARENT. You do this by merging that revision in PARENT to CHILD and checking this flag in tortoisesvn:

subversion分支重新集成

这篇关于svn分支合并树冲突问题(使用乌龟)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆