I was just thinking of writing a shell script to implement the obliterate functionality in an easy to do way (externally, using the suggested way, but automated).
Here's what I had in mind:
On the client
svn list -R > file-list
.- filter file-list in several ways like grep to create a file "files-to-delete", something like a set of
grep XXX file-list>>files-to-delete
. - transfer
files-to-delete
to the server using scp.
On the server
- Dump the repository
svnadmin dump /path/to/repos > repos-dumpfile
, this can be kept as a backup too. - Filter the dump file, for each word in "files-to-delete", do:
cat repos-dumpfile | svndumpfilter exclude $file > new-dumpfile
- Create a new repository and load the new file to it
svnadmin create new-name; svnadmin load new-name < new-dumpfile
Would this work? How can it fail? Any other ideas?