SVNブランチの名前を変更する必要があったため、次のようにしました。
$ svn move https:// server/repos/myrepo/branches/oldbranch\ https:// server/repos/myrepo/branches/newbranch
これまでのところ、非常に良い-ブランチの名前が変更されました。
問題は、このブランチから既存のサンドボックスがチェックアウトされており、更新しようとするとこのエラーが発生することです。
$ svn update svn:ターゲットパス '/ branches/oldbranch'は存在しません
かなり自明のエラー。簡単な検索の後、私は解決策を見つけたと思った: ブランチの名前変更後のSVN作業コピーの再配置
問題は、そのコマンドを発行しようとすると別のエラーが発生することです。
$ svn switch --relocate https:// server/repos/myrepo/branches/oldbranch\ https:// server/repos/myrepo/branches/newbranch svn:変更できるのは、 URLのリポジトリ部分
私が見る限り、Sander Rijkenと同じ方法で--relocate
コマンドを使用しています。このエラーが発生する理由はありますか?
ただやる
svn switch https://server/repos/myrepo/branches/newbranch
作業コピー内から。
相対パスを変更するには、必須を使用して純粋svn switch
(とにかくswitch --relocate
は非推奨です)、svn help switch
1番目のフォーム
switch URL[@PEGREV] [PATH]
作業コピーを更新して、リポジトリ内の新しいURLをミラーリングします。This behavior is similar to 'svn update', and is the way to move a working copy to a branch or tag within the same repository.
つまり、oldbranch
のWCのルートで、現在newbranch
になっているので、使用する必要があります
svn switch ^/branches/newbranch
EclipseでSVNブランチの名前を単に変更したい場合、最も簡単なのはSVN Repository Exploring Perspectiveに移動し、ブランチを右クリックして-> Refactor-> Renameを選択することです。