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
.grep XXX file-list>>files-to-delete
.files-to-delete
to the server using scp.On the server
svnadmin dump /path/to/repos > repos-dumpfile
, this can be kept as a backup too.cat repos-dumpfile | svndumpfilter exclude $file > new-dumpfile
svnadmin create new-name; svnadmin load new-name < new-dumpfile
Would this work? How can it fail? Any other ideas?
Yes, that script would work. But usually you don't obliterate that many files. Usually obliterate is only needed if you commit confidential information accidentally.
Are you sure you want to use obliterate for so many files?
I think cat new-dumpfile | svndumpfilter exclude $file > new-dumpfile
is a dangerous example. new-dumpfile will not be completely processed and it's contents will be probably lost, no?
From the comments below: the new-dumpfile will surely be lost, because the shell will clobber (truncate to zero length) it even before starting up the command.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With