【问题标题】:Are two svn commands the same ?两个 svn 命令是否相同?
【发布时间】:2012-09-30 11:30:13
【问题描述】:

我为 myApp 创建了一个分支,例如 myApp1.0 在版本 100,主干上的下一个版本是 101。我的 svn 代码结构是:

/trunk/myApp
/branches/myApp1.0

trunk/myApp上做了一些工作后,我想把trunk上的工作合并到branches/myApp1.0,这两个svn命令是一样的吗?

  1. svn merge https://my.svn.server/branches/myApp1.0@100 https://my.svn.server/trunk/@HEAD

  2. cd to work directory of myApp1.0
    svn merge -r101:HEAD https://my.svn.server/trunk/myApp

【问题讨论】:

  • 请注意,您也可以直接 cd 到分支工作目录并使用 svn merge ^/trunk - 在大多数情况下您不需要指定修订号(可能需要 svn 版本 1.6+ ?)。跨度>

标签: svn merge branch trunk


【解决方案1】:

两个svn命令一样吗?

某种程度上:合并merge主干和分支,它们是单一合并命令的不同形式('catch-up' 合并与'2-URL- merge' (1) vs 'cherry-pick' merge (2)) 和 2-URL-merge 推荐为“最后的工具”

svn 帮助合并

...

只有当其他变体不适用于您的情况时,您才应该使用此合并变体,因为掌握此变体可能非常复杂。

顺便说一句,在您的追赶合并用例中,您可以(?TBT)消除 URLS 中的 PEG 修订,因为 SVN >= 1.6 合并信息将被正确使用

注意使用 2-URL-merge

指定了两个源 URL,以及两个修订版本 N 和 M。 两个来源在指定的修订版中进行比较,并且 差异应用于 TARGET_WCPATH,它是一个 工作路径 另一个分支的副本

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 2012-03-27
    相关资源
    最近更新 更多