0

今天我在尝试做一个看似简单的合并时遇到了一个非常有趣的问题。

假设我们有两个分支,B1 和 B2,其中 B2 在某个时间 T1 从 B1 分支。

在这些分支中的每一个上,(独立地)创建了一个新的“F”文件夹,这样一段时间后,每个分支都在自己的“F”版本中包含不同的文件(幸运的是)。

但是,当您尝试将 B1 合并到 B2 中(反之亦然)时,您会遇到树冲突,因为即使两个分支都有一个“F”文件夹,它也是完全不同的(svn-speaking)彼此。

这可能是“邪恶双胞胎”的情况 - 但是,在这种情况下,分支 B1 和 B2 在共同的“F”下具有完全不同的文件和文件夹。例如,B1 可以有“F\a.txt”和“F\b.txt”,而 B2 可以有“F\c.txt”。

我现在要做的是将B1合并到B2中,以便在合并后B2包含“F\a.txt”、“F\b.txt”和“F\c.txt”。在此之后,我还希望能够将 B2 合并回 B1,但不会发生冲突(因此 B1 还将包含“F\a.txt”、“F\b.txt”和“F\c.txt”)。

(这实际上是我简化的现实问题。B1 分支是主干,B2 是我需要准备的功能分支,以便集成商不必处理冲突)

唯一的解决方案 - 有点难看,就像 svn 反对一样 - 我发现是 svn 删除 B2/F,然后合并 B1/F,然后重新添加 B2/F。

谢谢!

PS。我们目前正在使用 Tortoise SVN 1.6.16(以防万一)

4

0 回答 0