颠覆:将分支合并回主干导致 crash/conflicted 状态

Subversion: Merging branch back into trunk results in crash/conflicted state

环境:TortoiseSVN 1.11.1 (x64),AnkhSVN 2.6.12735.14,Visual Studio Enterprise 2015 v 14.0.25431.01 Update 3,Windows 10 Pro x64 x1809,局域网上的 Subversion 服务器运行 SVN 1.9.6.

我创建了一个分支来为我的项目添加新功能;现在将分支合并回主干会导致无法使用状态,或者 SVN(在本例中为 TortoiseSVN)崩溃。 (我不是命令行用户 - GUI 对我来说太好了。:)

在尝试使用 TortoiseSVN 的情况下,我的工作副本是主干(版本 867),我正在集成的分支是版本 884。当我进行合并时,我 select "all revisions"(分支中刚好有4个,包括最初创建的分支)。合并选项:深度:工作副本,比较空格,没有检查其他选项。测试合并导致 12 个冲突、1 个删除、1 个替换和 13 个更新。这看起来很奇怪 - 我相信应该有 0 个冲突,因为自从我的分支以来主干没有任何变化。

当我进行实际合并时,我会检查所谓的冲突,基本上 select 所有传入的文件。在我完成所有冲突的协调后,TortoiseSVN 崩溃了(事件查看器中没有崩溃日志)。如果我此时在 VS 中打开解决方案,我有 3 个树冲突,并且文件不处于连贯状态(项目不编译),我希望它们是。

如果我在 Visual Studio 内通过 AnkhSVN 执行此过程,我最终将处于与使用 TortoiseSVN 相同的状态,尽管没有(可见的)任何应用程序崩溃。

有一件事我想知道我是否做到了 "wrong" - 当我创建分支时,分支是通过修改创建的,而不是首先创建没有文件被更改的分支,然后从那里开始修改.感谢指点。

我最终 "manually" 解决了每个树冲突文件:

  • 记下文件
  • 使用工作副本解决 TC
  • 将功能分支中的单个文件重新合并回主干

这似乎奏效了。如果有更多的"automated"方法来做到这一点,我仍然很想听听。