Is it possible in the svn server to remove a revision as if it never existed?
So we have the following revisions:
1004 // Commit of some bogus code that broke the build and was just wrong
1003 // Change 1.2
1002 // Change 1.1
1001
1000 *** Initial checkin
Can we we remove the 1004 in svn and revert back to 1003 as if 1004 never existed?
Forgive my ignorance, I'm still learning how to use SVN.
VCS systems are designed specifically to make this as complicated as possible. You usually do not want to do this.
That being said, from the official documentation:
There are special cases where you might want to destroy all evidence of a file or commit. (Perhaps somebody accidentally committed a confidential document.) This isn't so easy, because Subversion is deliberately designed to never lose information. Revisions are immutable trees which build upon one another. Removing a revision from history would cause a domino effect, creating chaos in all subsequent revisions and possibly invalidating all working copies.
The project has plans, however, to someday implement an
svnadmin obliterate
command which would accomplish the task of permanently deleting information. (See issue 516.)In the meantime, your only recourse is to
svnadmin dump
your repository, then pipe the dumpfile throughsvndumpfilter
(excluding the bad path) into ansvnadmin load
command. See chapter 5 of the Subversion book for details about this.