3

Subversion リポジトリを新しいサーバーに移動しようとしていますが、そのミラーはそのままにしておきます。私は次のことをしました:

  1. 古いレポをダンプする
  2. ダンプを新しいレポにロードする
  3. 既存のミラーに svnsync する新しいリポジトリのポストコミット フックをセットアップします。

フック:

#!/bin/sh

svnsync --non-interactive sync https://mirror.example.com:443/svn/iaw \
--sync-username svnsyncuser --sync-password svnsyncpass \
--source-username svnsyncuser --source-password svnsyncpass &

exit 0

予想どおり、新しいレポからこのフックを実行しようとすると、次のようになります。

svnsync: 'http://oldrepo.url/svn/iaw' のオプション: ホスト名 'oldrepo.url' を解決できませんでした: ホストが見つかりません (http://oldrepo.url)

問題は、ミラーが古いリポジトリの URL で初期化されたことです。これを変更できるかどうかは誰にもわかりませんか、それとも新しいミラーで最初からやり直す必要がありますか?

どうもありがとう

4

2 に答える 2

2

Subversion を使用して、ミラー リポジトリのリビジョン 0 のリビジョン プロパティを編集できます。すなわち:

svn propset --revprop -r0 svn:sync-from-url http://newrepo.url/svn/iaw \
    https://mirror.example.com:443/svn/iaw

SVN ブック のリポジトリ レプリケーション セクションにある「svnsync ブックキーピング」というタイトルのボックスを参照してください。

于 2010-11-19T13:25:28.740 に答える
0

ミラー svn の同期情報はすべて /repo/db/revprops ディレクトリに保存されます。ディレクトリには、次のようなファイルが表示されます: 0、1、2、

grep -R "http://oldrepo.url" /repo/db/revprops

見つけたら、新しいレポアドレスに変更すると、すぐに機能します。

于 2010-11-19T12:44:36.857 に答える