2

私の開発プロジェクトでは、VisualSVN Server v 1.1 を使用して Tortoise SVN リポジトリを管理しています。それらをホストしている Windows サーバーが使用できなくなり、ISP の回復アプリを使用してソース データを別のサーバーに移動することを余儀なくされました。次の手順を実行しました。

  1. フォルダー repositories と svnrepos を古いサーバーから新しいサーバーにコピーしました。

  2. 新しいサーバーに Visual SVN をインストールしました。インストール時に、何が起こっているのかを魔法のように把握してくれることを期待して、リポジトリ フォルダーについてアプリに伝えました (魔法については面白いことです。魔法が存在しないことは誰もが知っていることです)。

  3. サブドメインのDNSを更新して、新しいサーバーのIPを指すようにしました。

  4. ビジュアル svn を開くと、実際にフォルダー、ユーザー、およびグループが表示されます (ここでは少し魔法が使われています)。ただし、残念ながら、開いたときにすべてのリポジトリに「Expected FS format '2'; found format '3'」というエラーが表示されます。

問題は、ファイルやフォルダーを中断せずに混乱を修正するにはどうすればよいかということです。

4

1 に答える 1

1

リポジトリの形式が、このバージョンのサーバーが期待するものと異なるようです。Subversion には基本的に、リポジトリの 2 つの異なる内部表現があります。BDB (現在は廃止されています) と FSFS (現在のリポジトリではしばらくの間デフォルトになっています)。古いサーバーのバージョンは BDB を使用しており、現在使用しているサーバーでは対応できないと思われます。

最善の方法は、まず、古いサーバーを可能な限り複製することです。あなたはVisualSVNサーバーv1.1について言及しています - これはあなたが元々持っていたものですか、それとも現在使用しているものですか? 古いサーバーで実行していたのと同じバージョンの VisualSVN をインストールしてみてください。リポジトリ形式を読み取れない場合は、追加のアドオンをインストールする必要がある可能性があります。元のサーバーが別の OS である場合は、その OS でマシンをセットアップします (Linux サーバーの場合は、Linux インストール ディスクで仮想マシンを作成してみてください)。

データのフォーマットを認識できるサーバーのインスタンスを取得したら、SVN データのバックアップを移植可能なフォーマットで作成するsvnadmin ダンプを実行します。次に、サーバーを最新バージョンの SVN に更新するか、実際のサーバーとなるマシンに転送します (たとえば、VM を使用してデータを取得する必要がある場合)。その後、 svnadmin loadを使用してバックアップをインポートできます。

フックを設定した場合 (プリコミット フックなど)、これらは に保存されないsvnadmin dumpため、これらを手動でコピーする必要があることに注意してください。構成ファイルと許可データについても同様です。

于 2013-02-17T22:28:02.220 に答える