【问题标题】:svn merge trunk branch vs. svn merge trunksvn 合并树干分支与 svn 合并树干
【发布时间】:2017-05-17 16:23:38
【问题描述】:

我有一个分支的本地副本,想从主干合并,但发现有些奇怪。

有什么区别

svn 合并 ^/trunk

svn 合并 ^/trunk ^/branches/my_branch

我以为它们是一样的,但第一个没有合并所有代码,第二个是。

谢谢!

【问题讨论】:

    标签: svn merge


    【解决方案1】:

    Merge 有 3 种形式,具有三种不同的行为。

    您在问题中使用的第一种形式是同步合并,它意味着 -r 1:REV 并将所有符合条件的更改从其直接祖先分支合并到一个分支。

    第二种形式是“2-URL Merge”和 ^/trunk 之间的区别 ^/branches/my_branch 生成并应用于您的工作副本。

    这三种形式在“带有 Subversion 的版本控制”一书中进行了描述。 (http://svnbook.red-bean.com)

    【讨论】:

    • 所以这意味着在第二种形式中我不必提交,它会自动完成。
    • 我猜有什么问题,因为我做了以下事情: svn co /branches/my_branch ./branch1 然后 svn co /branches/my_branch ./branch2 然后 cd branch2 然后 svn merge ^/trunk ^/branches /my_branch 然后转到 branch1 和 svn update,我希望 branch1 会合并代码。但不是。还要使 svn diff 和合并的 chenges 不会反映在本地分支中。
    • 也回到问题上来。如果我执行 svn co /branches/my_branch ./branch 然后 cd branch 然后 svn merge ^/trunk 最后 svn commit -m "merge from trunk"。如果我执行 svn merge ^/trunk ^/branches/my_branch 它仍然会合并一些更改。
    • 合并命令只是对您的工作副本进行更改。然后,您应该审查、在必要时进行任何调整并提交。该提交是一个单独的操作。听起来您并没有预料到这会导致混乱。
    猜你喜欢
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 2011-07-20
    • 2011-01-24
    • 2010-11-25
    相关资源
    最近更新 更多