私のプロジェクトの 1 つは、新しいリポジトリ (svn://newserver/ としましょう) にマージされる予定の Subversion リポジトリ (svn://oldserver/ と呼びましょう) にあります。
このプロジェクトは、いくつかのライブラリのソース コードをリンクするために svn:externals を集中的に使用します。すべての外部にはリビジョン番号が含まれているため、現在、ライブラリを含む古いバージョンのコードをチェックアウトできます。
「oldserver」はダンプされ、「newserver」にインポートされます。その後、外部は新しいサーバーを指すように変更されますが、これは HEAD リビジョンに対してのみ機能します。古いリビジョンの 2 つの問題:
- インポートはすべてのリビジョンをシフトしますが、svn:externals の対応する番号はシフトしません。
- インポートでは、新しいリポジトリ名を使用する代わりに、元のリポジトリ名 (svn://oldserver/) も保持されます。
svn://oldserver/ という名前で実行でき、単に svn://newserver からデータを取得するが、リビジョン番号を付け直した後、Subversion 用のゲートウェイ サーバーのようなものがあるかどうか疑問に思っています。誰かそんなこと知ってる?
代替案 1: 「oldserver」を「newserver」にインポートする前に、svndumptoolなどのツールを使用して外部の番号を付け直します。でも、間違えると後から修正できません。そのため、このソリューションを拒否しました。
代替案 2: 古いサーバーを実行させ、単純に読み取り専用として構成します。サーバーのハードディスク上でより多くの場所を占めるだけですが、より良い解決策が見つからない場合は、この解決策を使用するかもしれません.