簡単な方法で消去機能を実装するためのシェルスクリプトを作成することを考えていました(外部的には、提案された方法を使用しますが、自動化されています)。
これが私が念頭に置いていたことです:
クライアント上
svn list -R > file-list
.- grep のようないくつかの方法で file-list をフィルタリングして、一連の
grep XXX file-list>>files-to-delete
. files-to-delete
scp を使用してサーバーに転送します。
サーバー上
- リポジトリをダンプします
svnadmin dump /path/to/repos > repos-dumpfile
。これもバックアップとして保持できます。 - 「files-to-delete」の単語ごとにダンプ ファイルをフィルタリングし、次のようにします。
cat repos-dumpfile | svndumpfilter exclude $file > new-dumpfile
- 新しいリポジトリを作成し、新しいファイルをそこにロードします
svnadmin create new-name; svnadmin load new-name < new-dumpfile
これは機能しますか?どうすれば失敗しますか?他のアイデアはありますか?