【问题标题】:How do I merge two SVN branches?如何合并两个 SVN 分支?
【发布时间】:2010-11-25 04:19:02
【问题描述】:

我签出了两个 SVN 分支,“b1”和“b2”。我想将我所有的提交从“b1”分支合并到“b2”分支。我尝试过类似的东西

svn merge -r HEAD:HEAD b1 b2

但它什么也没做。我确定我有这个命令错误,但我找不到好的文档。我想在客户端执行此操作,而不是创建第三个分支。

我正在使用不支持重新集成选项的 SVN 1.4.4。

我该怎么做?

【问题讨论】:

  • 只需输入“svn help merge”即可获得帮助

标签: svn merge


【解决方案1】:

您的问题在于-r 标志。您必须指定修订的范围。比如:

svn merge -r 13:HEAD b1 b2

要找出正确的修订号,您可以这样做:

svn log --stop-on-copy b1

log 将只列出发生在b1 上的提交。您将看到的最小修订号将是您的选择。

不过,我从来没有使用过这种形式。我总是确保我在积极地分支b2,然后这样做:

svn merge -r 13:HEAD url://to/branch/b1

【讨论】:

    【解决方案2】:

    来自reference page for svn merge 中的the Subversion book

    $ svn 合并 --reintegrate \ http://svn.example.com/repos/calc/branches/my-calc-branch --- 将存储库 URL 之间的差异合并到 '.' 中: U按钮.c U整数.c U 生成文件 ü。 $ # 构建,测试,验证,... $ svn commit -m "将 my-calc-branch 合并回主干!" 发送 . 发送按钮.c 发送整数.c 发送 Makefile 传输文件数据.. 提交修订版 391。

    编辑: 好的,所以您使用的是旧版本的 Subversion。在这种情况下,请参阅 version 1.4 of the book 中的 Merging a Whole Branch to Another

    【讨论】:

    • 我找不到关于 reintegrate 究竟是做什么的好的文档。我正在将一个分支合并到另一个分支,而不是将一个分支合并到主干。并且正如问题中所指定的,这将在分支的 2 个工作副本上完成(考虑本地目录而不是 svn 服务器 URL)。您能否更新您的答案以反映这些担忧?
    • 我也有 svn 版本 1.4.4,它似乎不支持重新集成选项。因为这似乎是更长命令的快捷方式,所以我会欣赏更长的版本。谢谢!
    猜你喜欢
    • 2013-04-11
    • 2014-02-01
    • 2013-08-20
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    相关资源
    最近更新 更多