svn-如何合并在两个分支中手动创建的目录?

svn-如何合并在两个分支中手动创建的目录?,svn,merge,tree-conflict,Svn,Merge,Tree Conflict,我面临着svn合并的问题,下面是一个场景 树干 Branch1 分支2 同时在Branch1和Branch2上创建了一个新文件夹“abc”,这两个文件夹的代码库都被更新,直到Branch1发布。在Branch2上进行了进一步的代码更改。 现在,当Branch1合并回主干时,它是平滑的。 当主干合并到Branch2时,出现了预期的树冲突 但现在我不知道该如何进行。我希望在Branch2中保留lcoal更改,并正确合并目录,以便将来的合并不会产生任何树冲突 有什么想法吗?有人面临过这样的问题吗?有决

我面临着svn合并的问题,下面是一个场景

树干 Branch1 分支2

同时在Branch1和Branch2上创建了一个新文件夹“abc”,这两个文件夹的代码库都被更新,直到Branch1发布。在Branch2上进行了进一步的代码更改。 现在,当Branch1合并回主干时,它是平滑的。 当主干合并到Branch2时,出现了预期的树冲突

但现在我不知道该如何进行。我希望在Branch2中保留lcoal更改,并正确合并目录,以便将来的合并不会产生任何树冲突

有什么想法吗?有人面临过这样的问题吗?有决议吗

对问题的一些答复是: 问:为什么同时创建两个分支? 答:我正在将svn任务合并到一个由25名开发人员组成的团队中。2个开发者创建了这个

问:为什么这两个分支都创建了这个abc目录? 答:这是正在使用的同一个项目。一个是在它的初始阶段工作,而另一个是在它真正发布之前的一个特性

abc是一个项目还是仅仅是现有项目下的一个新目录? A:这是一个新项目

中继中是否存在abc目录?
答:不

显然,如果合并来自两个源的同一目录名,将导致树冲突。您可以尝试通过合并分支1,然后合并分支2对目录的后续更改来伪造它,即跳过创建目录的修订,只合并包含内容更改的修订

或者,您可以在合并branch 1和commit之后手动复制更改。

在将/trunk从根目录合并到Branch2之前,将subtree/trunk/abc合并到/Branch2/abc

到Subversion/Branch1/abc和/Branch2/abc是两个完全独立的目录。这两者之间没有共同的历史。下次,您需要使用svn cp,这样Subversion就可以知道它们是相关的

您可以尝试使用-ignore-ancestory标记,但这将执行双向合并而不是三向合并。这意味着如果我将/Branch2合并到/Branch1中,/Branch1上的abc目录将是/Branch2上的任何目录

为什么要同时创建两个分支?为什么这两个分支都创建了这个abc目录?abc是一个项目还是仅仅是现有项目下的一个新目录?中继中是否存在abc目录


听起来您可能需要回顾您的CM实践。不幸的是,没有更多的信息,我无法给你更具体的建议。

在更新的帖子中回答你的问题。我计划硬删除一个分支中的abc项目,然后继续合并。你认为这是个好主意吗?是的。除掉一根树枝。这是一个完全不同的同名项目。删除该分支。如果仍然需要,请将该分支复制到另一个分支。在为该项目创建分支之前,我将始终在/trunk中创建新项目作为一项策略。然后使用svn cp创建分支。这将防止在一个分支问题中创建两个项目。