svn:トランクの特定のリビジョンからブランチを作成する方法


116

次のアクションは、トランクの最新リビジョンからブランチを作成するだけです。特定のリビジョンからブランチを作成するにはどうすればよいですか?ありがとう。

$ svn copy http://svn.example.com/repos/calc/trunk \
       http://svn.example.com/repos/calc/branches/my-calc-branch \
  -m "Creating a private branch of /calc/trunk."

2
改行文字を無視するために2つのバックスラッシュ()があることに注意してください...そして、それはsvnコマンドの一部ではありません
Harry Lime

回答:


163

ヘルプコマンドをチェックしてください:

svn help copy

  -r [--revision] arg      : ARG (some commands also take ARG1:ARG2 range)
                             A revision argument can be one of:
                                NUMBER       revision number
                                '{' DATE '}' revision at start of the date
                                'HEAD'       latest in repository
                                'BASE'       base rev of item's working copy
                                'COMMITTED'  last commit at or before BASE
                                'PREV'       revision just before COMMITTED

あなたの例を使ってこれをコマンドラインで実際に指定するには:

svn copy -r123 http://svn.example.com/repos/calc/trunk \
    http://svn.example.com/repos/calc/branches/my-calc-branch

123コピーするトランクのリビジョン番号はどこにありますか。他の人が指摘したように、@構文を使用することもできます。個人的には、リビジョン#をURLからより明確に分離することを好みます。

ヘルプに記載されているように、リビジョン#を特定の単語に置き換えることもできます。

svn copy -rPREV http://svn.example.com/repos/calc/trunk \
    http://svn.example.com/repos/calc/branches/my-calc-branch

「コミット直前のリビジョン」をコピーします。


また、上記の例では、リビジョン123がの下trunkで発生しなかった場合、copy ...trunk@123 ...構文は失敗する可能性がありますPath ...trunk@123 does not exist in revision 768768リポジトリは最新です)-r 123。古いSVNクライアントで観察されましたが、1.6の場合もそうでない場合もあります。
vladr 2013年

3
引数-rREVは常に機能するとは限りません。時には@REVが必要です。stackoverflow.com/questions/6591938/…を
Mojca 2014年

1
-rは、Homebrewを介してMac OS X上のsvnバージョン1.7.13(r1516569)で動作します。
kakyo 2014年


19

「@」文字を使用してリビジョンを追加します。

svn copy http://src@REV http://dev

または、-r [--revision]コマンドライン引数を使用します。


これをありがとう。マニュアルページの角括弧が必要かどうかはわかりませんでした。彼らがEBNFを使用していたと考えるべきでした。
rstackhouse 14

0

以下のいずれかを試してください:

svn copy http://svn.example.com/repos/calc/trunk@rev-no 
       http://svn.example.com/repos/calc/branches/my-calc-branch 
  -m "Creating a private branch of /calc/trunk."  --parents

SVN URLの間にスラッシュ「\」は使用できません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.