質問

最大リポジトリサイズのフリーミアムサイトでホストされているSVNリポジトリがあります。この容量にアプローチすると、ディスクスペースを解放するために永久に削除できることを知っていることを確認したファイルを知っています。ファイルを削除するだけでなく、履歴でもあることをSVNに伝えるにはどうすればよいですか?

役に立ちましたか?

解決

Subversionには、特定のファイルにバージョンされないように指示したり、少なくとも削除されたときにファイルを忘れたりする方法はないと思います。バージョン制御システムの目的を打ち負かします。ローカルリポジトリがある場合、いくつかの調整によってこれを達成できます。ただし、リポジトリの管理者アクセスがなければ、これを行うことは不可能になります。

それが役立つなら、 rsvndump リモートリポジトリのダンプを取得するツールです。これにより、リポジトリダンプをローカルシステムに届けることができます。不要なファイルを削除するには、このコマンドを使用できます。これにより、リポジトリのサイズを削減できますが、このコンテンツでオリジナルリポジトリを更新することはできません。

他のヒント

これを見てください:

http://subversion.apache.org/faq.html#removal 言う:

ファイルまたはコミットのすべての証拠を破壊したい特別なケースがあります。 (おそらく誰かが誤って機密文書をコミットしたのでしょう。)これはそれほど簡単ではありません。なぜなら、Subversionは意図的に情報を失うように設計されているからです。リビジョンは、互いに構築する不変の木です。歴史から改訂を削除すると、ドミノ効果が発生し、その後のすべての改訂で混乱が生じ、すべての作業コピーが無効になる可能性があります。

これで考えられる解決策は答えてください:

SVN履歴からファイルの内容を削除します

また、あなたはあなたの歴史を剪定することができます。 100回の改訂があるとし、最新の歴史を保持できると言います。たとえば50の改訂版です。これにより、Subversionリポジトリのサイズも削減される場合があります。

svnadmin dump /path/to/current/repo -r50:100 > newsvn.dump
# you can delete the old repo and then
svnadmin create /path/to/new/repo
svnadmin load /path/to/new/repo < newsvn.dump

コミット履歴なしで生活できる場合は、コードをチェックアウトし、現在のリポジトリを削除し、新しいリポジトリを作成してから、新しいリポジトリにコードをコミットできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top