1

最も古い 6,000 リビジョンを削除したい大きなリポジトリがあります。途中で不要なリビジョンのグループも削除できれば素晴らしいと思います。

不要なファイルとブランチを削除する方法を見つけましたが、まだ多くの不要なリビジョンが残っています。

ありがとう

4

1 に答える 1

1

svnadmin dumpコマンドを使用する必要があります。任意のリビジョンからダンプ ファイルを作成し、その後、特定のパスを除外/除外するようにフィルタリングします。構文は次のとおりです。

svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental]

例: リポジトリからリビジョン 10-99 を除外したい:

svnadmin dump REPOS_PATH -r 0:9  > my_dump_file.dmp
svnadmin dump REPOS_PATH -r 100:HEAD  > my_dump_file.dmp --incremental

いくつかの問題があります:

  • 私の例でrev 10-99に追加したrev 100以降のファイルの変更は、前にレポからそれらを削除する必要があるエラーメッセージを作成します

  • 後でコピー元として使用するファイルを削除すると、ダンプ ファイルにもエラーが発生します。

どちらの制限もほとんど回避できますが、ダンプ/フィルター/ロード サイクルの繰り返しが多くなり、時間がかかります。これらのボーダーケースを処理する時間は、あなた次第です。

svnbook を使用して、 svnadmin ダンプsvndumpfilterの詳細情報を読み取ります

于 2012-09-30T12:55:37.480 に答える