0

我为 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

4

1 回答 1

0

两个svn命令一样吗?

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

svn帮助合并

...

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

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

并注意使用的 2-URL-merge

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

于 2012-10-10T13:01:41.383 回答