Roll back or revert entire svn repository to an older revision
Check out svnadmin dump/load. It creates a text file with every version of your files. It may be possible to delete everything above/below a certain point and re-import it.
See for instance Migrating Repository Data Elsewhere
A "reverse" merge may be what you need. See "undoing changes" section of svn book.
E.g. svn merge -r 28:24 [path to svn]
If you have access to the SVN server, you can just edit path/db/current
, put the old revision number you want to revert to (here: 24) there, and remove no longer needed revision files (i.e. 25, 26, 27, 28) from path/db/revs/0/
. At least this worked for me today, after I had accidentally removed a directory in the repository.
If you really need to wipe 'evidence' that the files ever existed, you need to do the svndump/svnload actions described above.
In a 'normal' situation, where you made a mistake, you need to use reverse merge. This make sure that undoing the changes after r24 can also be reverted, diffed, etc.
The command below should work to undo your changes (you need to commit the result of the merge to reflect the merge in the repository)
svn merge -r 28:24