75

私は SVN でホストされているプロジェクトのルート フォルダーにいて、trunk2 つのブランチの設定を検討しています。

1 つのブランチは、現在の (安定した) リビジョンでのプロジェクトの「スナップショット」であり、2 つ目のブランチは、新しいコードを適用し、テストしてから、トランクを新しいバージョンにアップグレードする作業を行うブランチです。

私の目標は、スナップショットを保険として保持し、プロジェクトの古い安定したバージョンを取得するための迅速な方法にすることです。2 番目のブランチは、新しいコードを適用してテストに合格すると、トランクにマージされ、公開されます。

スナップショットを設定するために、次trunkのブランチにコピーしましたv1p2p3

$ svn cp https://www.example.com/svn/trunk \ 
         https://www.example.com/svn/branches/v1p2p3 \
         -m "Branching from root trunk to v1p2p3 at r1114"

ここまでは順調ですね:

Committed revision 1115.

私がやりたいことは、ローカル リポジトリのコピーをこのブランチに切り替えて、動作することを確認することですが、次のエラー メッセージが表示されます。

$ svn switch --relocate https://www.example.com/svn/trunk \
                        https://www.example.com/svn/branches/v1p2p3

エラーメッセージは次のとおりです。

svn: E155024: Invalid relocation destination: 
              'https://www.example.com/svn/branches/v1p2p3' 
              (does not point to target)

私は何を間違っていますか?

(これがうまくいかない場合、より野心的な 2 番目のブランチを開始することはできないのではないかと思います。既存のプロジェクトのレイアウトを損なわずにこれを行う方法を探しています。アドバイスをありがとう、そしてこれがばかげた質問である場合は申し訳ありません。)

4

3 に答える 3

146

--relocateブランチは同じリポジトリ URL 内にあるため、その必要はありません。ただ行う:

svn switch https://www.example.com/svn/branches/v1p2p3
于 2013-02-01T23:05:41.600 に答える
40
  • (正しい)ツァマンの答えの短いバージョンは(新しいSVNの場合)

    svn switch ^/branches/v1p2p3
    
  • --relocateとにかく、スイッチは非推奨です。必要な場合は、コマンドを使用する必要がありますsvn relocate

  • スナップショット ブランチ (読み取り専用) を作成する代わりに、タグ (履歴用の従来の RO ラベル) を使用できます。

Windows では、キャレット文字 ( ^) をエスケープする必要があります。

svn switch ^^/branches/v1p2p3
于 2013-02-02T00:34:26.550 に答える