0

myApp のブランチを作成します。たとえば、リビジョン 100 の myApp1.0 です。トランクの次のリビジョンは 101 です。私の svn コード構造は次のとおりです。

/trunk/myApp
/branches/myApp1.0

でいくつかの作業を行った後trunk/myApp、トランクの作業を にマージしたいのですbranches/myApp1.0が、2 つの 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

2 つの svn コマンドは同じですか?

ある程度:両方のマージはトランクとブランチをマージ、それらは単一のマージコマンドの異なる形式です(「キャッチアップ」マージと「2-URL-merge」(1)と「cherry-pick」マージ(2)の混合)および「最後の手段」として推奨される 2-URL マージ

svn ヘルプ マージ

...

このマージ バリアントは、マスターするのが非常に複雑になる可能性があるため、他のバリアントが状況に当てはまらない場合にのみ使用してください。

ところで、キャッチアップ マージのユースケースでは (? TBT) URL の PEG リビジョンを削除できます。SVN >= 1.6 の場合、mergeinfo が適切に使用されます。

そして、使用された 2-URL-merge についての注意

2 つのソース URL が、2 つのリビジョン N および M と共に指定されます。2 つのソースは、指定されたリビジョンで比較され、その差が別のブランチの作業コピーへのパスである TARGET_WCPATH に適用されます。

于 2012-10-10T13:01:41.383 に答える