私は最近SVNサーバーを移動しましたが、現在、作業コピーをコンピューターから新しいサーバーに再配置しようとしています。しかし、私は最も奇妙なエラーを取得します。私がやります :
svn switch http://99.99.99.new/svn/company/project/trunk/web
しかし、私は得る
svn: 'http://99.99.99.old/svn/company/project/trunk/web'
is not the same repository as
'http://99.99.99.new/svn/company/project'
移動はダンプとインポートで行われました...そしてリポジトリのルートは http://99.99.99.new/svn/company/project にあります
何が間違っているのか考えがありますか?どうもありがとう
使用してみてください
svn switch --relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
コメントでSporinoが指摘したように、Subversion 1.7以降、別のrelocate
コマンドがあります。
svn relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
また、TortoiseSVNには「Relocate」オプションがあり、これらのような状況で使用する必要があります(「Switch」オプションの代わりに)。
SVNの再配置を行うための私の最善の方法は次のとおりです。
svn switch --relocate $(svn info | grep ^URL | cut -f 2 --delim=' ') \
new_url_or_repository
このようにして、svn info
コマンドでは、間違いを犯さないように注意してください。これはよくある間違いの1つです。
すべてが正しい場合、新しい場所の認証詳細が異なる場合は、その詳細が表示されます。
コマンドを発行した後、URLパラメーターを見て、変更が適用されていることを確認してください。
svn info
再配置後、作業コピーを更新して、すべてが正常であることを確認します。
svn update
私の2c ..
relocate
コマンドにswitch
コマンドラインパラメーターを使用します。
管理者がリポジトリの「ベースの場所」を変更する場合があります。つまり、リポジトリのコンテンツは変更されませんが、リポジトリのルートに到達するために使用されるメインURLは変更されます。たとえば、ホスト名が変更されたり、URLスキーマが変更されたり、リポジトリに至るパスのみが変更されたりする場合があります。新しい作業コピーをチェックアウトするのではなく、svn switchコマンドを使用して、作業コピー内のすべてのURLの先頭を「書き換える」ことができます。 --relocateコマンドを使用して、置換を行います。ファイルの内容は変更されず、リポジトリにも接続されません。これは、s/OldRoot/NewRoot /を実行する作業コピーの.svn /ディレクトリでPerlスクリプトを実行するのに似ています。
--relocateオプションを使用する必要があります。
svn switch --relocate http://99.99.99.new/svn/company/project/trunk/web
詳細については、 svnbook を参照してください。