2

ユーザー A は r1234 で SVN にコミットします。彼の後の数人のユーザーも、r1250 の結果の HEAD でチェックインしました。r1234 で最後の ci のトランクにタグを付けるように指示されます。

適切かつ安全にタグ付けするには、どちらを使用しますか?

svn copy http://some.url.com/some/dir@1234 http://some.url.com/some/other/dir
or
svn copy -r 1234 http://some.url.com/some/dir http://some.url.com/some/other/dir

それぞれの意味に違いがあると思います。

ありがとう

4

1 に答える 1

1

定義:ペグ リビジョン@1234呼ばれ、運用リビジョンと呼ばれます。ペグ リビジョンが指定されていない場合は、デフォルトで(リモート操作用) になります。運用リビジョンが指定されていない場合、ペグ リビジョンがデフォルトになります。-r 1234HEAD

次の 2 つのコマンドの違いは何ですか?

svn cp -r 1234 ^/trunk@1234 ^/branches/foobar
svn cp -r 1234 ^/trunk@HEAD ^/branches/foobar

/trunk前者はリビジョン 1234の名前でディレクトリをコピーします。一方、後者/trunkは最新のリビジョンで名前が付けられたディレクトリから開始し、リビジョン 1234 の祖先を特定してそのディレクトリをコピーします。

つまり、/trunkリビジョン 1234 以降にディレクトリの名前が変更された場合にのみ違いが生じる可能性があります。それはありそうもないことです。でも:

指定されたリビジョンの後にリポジトリで何が起こったかに関係なく、常に同じ効果があるため、ペグ リビジョンを使用してブランチを作成します。

svn cp ^/trunk@1234 ^/branches/foobar

詳細については、オンライン ブックのSubversion によるバージョン管理のペグと操作上のリビジョンのセクションを参照してください。

于 2013-05-01T09:05:30.107 に答える