[解決済み] Subversionのリポジトリをエクスポート(その後インポート)するには?
質問
私は、ソース コードを保存するために商用 SVN プロバイダーを使用していたプロジェクトについて、ちょうど終了したところです。顧客が最終的に選んだ Web ホストは、ホスティング パッケージの一部としてリポジトリを含んでいるので、プロジェクトが終了した今、私は彼らの Web ホストにリポジトリを移し、商用アカウントを停止したいと思います。
これを行うにはどうしたらよいでしょうか。
どのように解決するのですか?
リポジトリを移動して履歴を残したい場合、おそらく両方のホストでファイルシステムにアクセスする必要があるでしょう。 バックエンドが FSFS(最近のバージョンのデフォルト)の場合、最も簡単な解決策は、リポジトリフォルダ全体のファイルシステムコピーを作成することです。
Berkley DB バックエンドを使用している場合、バックエンドが何かわからない場合、または SVN のバージョン番号を変更する場合、svnadmin を使用して古いリポジトリをダンプし、それを新しいリポジトリにロードしたいと思うことでしょう。 使用方法
svnadmin dump
を使用すると、新しいシステムにコピーできる単一のファイルのバックアップが得られます。 それから、新しい(空の)リポジトリを作成して
svnadmin load
を使って、すべてのコミットとそのメタデータ(作者、タイムスタンプなど)を再生することができます。
ダンプ/ロード処理について詳しくは、こちらをご覧ください。
http://svnbook.red-bean.com/en/1.8/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate
また、もしあなたが
svnadmin load
を使用する場合は、必ず
--force-uuid
オプションを使用するようにしてください。そうしないと、新しいリポジトリに切り替える際に問題が発生します。 Subversion は内部的にリポジトリを識別するために UUID を使用しており、作業コピーを別のリポジトリに切り替えることができません。
ファイルシステムにアクセスできない場合、移行を支援する他のサードパーティ製オプションがあるかもしれません(または、あなたが何かを書くこともできます)。基本的には、svn log を使って新しいリポジトリで各リビジョンを再生し、その後でメタデータを修正しなければならないでしょう。 これを行うには pre-revprop-change と post-revprop-change フックスクリプトが必要で、これはファイルシステムへのアクセスを仮定しているので、YMMVです。 また、履歴を残したくない場合は、作業コピーを使用して新しいリポジトリにインポートすることができます。 しかし、これがそうでないことを望みます。
関連
-
[解決済み] 履歴のある SVN リポジトリを新しい Git リポジトリに移行するにはどうすればよいですか?
-
[解決済み] Subversionリポジトリにおける「branch」、「tag」、「trunk」の意味とは?
-
[解決済み] Subversionでファイルを無視するにはどうしたらいいですか?
-
[解決済み] ブランチを作成する方法を教えてください。
-
[解決済み] Subversionで既にコミットされたログメッセージを編集するには?
-
[解決済み] Subversion で古いバージョンのコードに戻るにはどうしたらいいですか?
-
[解決済み] あるSubversionのリポジトリから別のリポジトリに1つのフォルダを移動するにはどうしたらいいですか?
-
[解決済み】Subversion リポジトリから最後の n リビジョンを git-svn でクローンする方法は?
-
[解決済み] WindowsでSVNからMercurial(hg)に移行/変換する方法
-
[解決済み] git-svnはgitコマンドではない?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Subversionでファイルの削除を取り消す簡単な方法は何ですか?
-
[解決済み] ブランチをトランクにマージする場合、「svn merge --reintegrate」と「svn merge without reintegrate」はどう違うのですか?
-
[解決済み] SVNでディレクトリを無視するには?
-
[解決済み] SVNで作業コピーXXXがロックされ、クリーンアップに失敗する。
-
[解決済み] なぜGitはSubversionよりも優れているのですか?
-
[解決済み] Subversionでツリーのコンフリクトが発生するのはなぜですか?
-
[解決済み] ローカルでの編集を戻さずにsvn追加を元に戻す
-
[解決済み] Google CodeのSubversionリポジトリをGitHubにフォークして同期させる
-
[解決済み] ブランチをトランクにマージする
-
[解決済み] SVN 405 メソッドが許可されていない