個人的なテストや開発に使用されるプライベート リポジトリで作業する場合、プライベート データをアップロードする場合があります。不要なファイルを複数のコミットでアップロードすると、リポジトリのサイズが大幅に増加します。
開発作業が終了し、リポジトリを公開することに決めた場合、開発段階でリポジトリにコミットされたプライベート データを削除することを検討する必要があります。
開発マシンのアプリケーションから簡単に削除して、リポジトリにコミットできます。ただし、データは以前のコミットにまだ残っています。
ここでは、リビジョン履歴からファイルを削除するための解決策を見つける必要があります。これを行うための優れた方法が得られれば、お客様のリポジトリ クォータ管理やその他の面でも支援できます。 アプリケーションのメンテナンス そしてサポート。
「svndumpfilter」オプションを使用していくつかのテストを行ったところ、SVN リポジトリのリビジョン履歴からファイルを削除するための解決策を見つけることができました。
svn リポジトリのクォータ超過の問題に直面している場合、または履歴から不要なファイルを削除することに興味がある場合は、以下の手順に従うことができます。
1. リポジトリのダンプを取得します。
svnadmin ダンプ /var/svn/REPOSITORY > ダンプファイル
2. ダンプ ファイルをフィルタリングします。
svndumpfilter exclude /path/of/file/to/remove < dumpfile > newdumpfile
これにより、ファイル「/path/of/file/to/remove」が削除されます。次のように、一度に複数のファイルを削除できます。
svndumpfilter exclude file1 file2 < dumpfile > newdumpfile
3. 新しいリポジトリを作成します。
svnadmin 作成 /var/svn/REPOSITORY_NEW
4. 新しいリポジトリにダンプファイルをインポートします。
svnadmin ロード /var/svn/REPOSITORY_NEW < newdumpfile
5. 古いリポジトリを新しいリポジトリに置き換えます。
mv /var/svn/REPOSITORY /var/svn/REPOSITORY_OLD
mv /var/svn/REPOSITORY_NEW /var/svn/REPOSITORY
これを確認するには、履歴を参照して削除したファイルの 1 つを確認すると、ファイルが見つからないというエラーが表示されます。すべてが期待どおりに機能するかどうかを確認するには、新たにチェックアウトしてコミットする必要がある場合があります。すべてが正常に動作する場合は、ダンプ ファイルと古いリポジトリのバックアップを削除できます。
試してみる。乾杯!!
に代わって投稿します サナル・イナス
ご連絡ください。