2

我正在尝试使用 svn vendor 分支来升级第三方库。(我们修改了源代码)

我按照所有步骤创建了供应商分支::

为旧版本(第 3 方库)创建了供应商分支为最新版本(第 3 方库)创建了供应商分支,使用(使用 svn_load_dirs.pl 脚本)将最新版本复制到当前文件夹

svn中供应商存储库的结构

URL/vendor/library/3.5.0 URL/vendor/library/3.7.0 URL/vendor/library/current

我在 URL/trunk/library/customized-library 使用/修改了 library-3.5.0

当我尝试将 URL/vendor/library/3.7.0 和 URL/vendor/library/3.5.0 之间的差异合并到 URL/trunk/library/customized-library 时遇到问题

我在检出 URL/trunk/library/customized-library 的文件夹中,我使用以下命令进行合并

svn 合并 URL/vendor/library/3.5.0 URL/vendor/library/current 。--接受参数

当我使用 theirs-conflict 作为接受参数时,它会忽略我对旧版本的所有更改并在我使用 mine-conflict 时从 3.7.0 复制文件,当我使用延迟时它会忽略 3.7.0 中的文件,它会引发异常“树冲突”

谢谢吉安

4

1 回答 1

2

您的问题存在是因为 3.5.0 和 3.7.0 没有共同的祖先。您创建彼此平行。您需要做的是使用 vendor/current 作为合并源,但前提是您在 3.5.0 是最新版本期间签入 current。

当用 3.7.0 覆盖当前时,会创建一个变更集。这个变更集是你必须应用到你的库的修改版本:)

除此之外,你做的一切都是正确的。

于 2010-10-06T12:32:24.393 回答