在不同分支的文件夹的 svn 合并期间获得意外的更改列表

Getting unexpected changelist during svn merge of folder of different branches

我有 2 个分支 accos_2.1.3b_ludz 和 accos_2.1.3_ludz。我对 /WebcContent/WEB-INF/lib 文件夹 accos_2.1.3b_ludz 进行了以下更改:

他们基本上只是更新到更新版本的 jar 文件。我正在尝试将更改合并到 accos_2.1.3 分支

svn merge 命令与 --dry-run 结合使用会得到以下结果:

 C:\Users\linhou\Teamforge\accos_2.1.3b_ludz\WebContent\WEB-INF\lib>svn merge ^
 More?  ^^/Accos/branches/ludwig/accos_2.1.3b_ludz/WebContent/WEB-INF/lib ^
 More? ^^/Accos/branches/ludwig/accos_2.1.3_ludz/WebContent/WEB-INF/lib --dry-run
--- Merging differences between repository URLs into '.':
A    hibernate-core-4.2.18.Final.jar
A    antlr-2.7.6rc1.jar
D    antlr-2.7.7.jar
D    hibernate-core-4.2.21.Final.jar

我不明白的是为什么 hibernate-core.4.2.18.Final.jar 标记为 A 而不是 D 和 hibernate-core-4.2.21.Final.jar标记为 D 而不是 A。鉴于 accos_2.1.3b 是源,accos_2.1.3 是目标,所以我希望 As 和 Ds 可以互换。

here所述,您的命令行格式如下:

svn merge SOURCE1 SOURCE2 [TARGET_WCPATH]

这会产生差异以应用到 from SOURCE1 to SOURCE2.
因此,在您的情况下,这会产生差异以应用于 go from branch accos_2.1.3b_ludz 分支accos_2.1.3_ludz。你观察到的完全符合这个解释。

对于您预期的输出,您只需反转参数,如下所示:

svn merge .../accos_2.1.3_ludz/... .../accos_2.1.3b_ludz/... --dry-run