1. ホーム
  2. svn

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

2022-05-18 04:39:59

質問

次のアクションは、トランクのヘッドリビジョンからしかブランチを作成しません。特定のリビジョンからブランチを作成するにはどうしたらよいでしょうか。ありがとうございます。

$ 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."

どのように解決するのですか?

helpコマンドで確認してください。

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

COMMITTED"の直前のリビジョンをコピーします。