5

我正在使用我不习惯的 svn 设置,我需要将新代码从一个分支合并到另一个分支。

主干文件夹中没有代码,所以我不知道是否应该将主干更新为代码并更新第二个分支,或者是否有办法将一个分支更新到另一个分支。我最后的手段是手动更新代码。

任何想法这里最好的路线是什么?我正在从终端做所有事情。

4

2 回答 2

7

否不要手动更新。当然,难度将取决于这些分支的距离。

您始终可以将更改从一个分支带到另一个分支。假设您有两个名为 branch1 和 branch2 的分支,并且您想将 branch2 合并到 branch1。

假设您在 branch1 中(先尝试空运行,看看是否会导致冲突)

svn merge -r LAST_MERGED_REVISION:HEAD_REVISION --dry-run url/to/branches/branch2 .

svn merge -r LAST_MERGED_REVISION:HEAD_REVISION url/to/branches/branch2 .
svn status | egrep '^C|^.C' <---Manual intervention is required for conflicts
svn update
svn ci -m "Merge changes from branch2"

你可以关闭 branch2

svn merge --reintegrate url/to/branches/branch2
svn update
svn ci -m "Merged branch2 to branch1"

如果分支非常不同,这可能会失败。

于 2010-12-08T22:41:03.313 回答
1

根据您使用的 subversion 版本,我建议使用svnmerge或 subversion 的内置合并跟踪支持。在任何情况下,很可能从一个分支合并到另一个分支,而不使用主干(假设分支有一些相对接近的祖先)。

于 2010-12-08T22:31:00.820 回答