A very smart developer deleted almost an entire repository and committed it (rev 210). I have a working copy on my computer, but the repository is rather large.
I would like to create a new revision (211) that is identical to the last good revision (209). I don’t want to keep anything from revision 210, which is the bad commit. It’s the developers fault, and they will have to rewrite anything as far as I am concerned.
Ideas?
If that developer didn’t delete the repository on the server then all your code is safe. All you need to do to verify this is to create a new empty folder and then perform an SVN checkout from revision 209 instead of the HEAD. That will give you every single file in their state for revision 209. You can do this on any of your dev workstations, no need to do anything on the server.
To revert the changes, just pull up the SVN Show Log (if using TSVN) window in your working copy root and select revision 209, then select Revert to revision – this will do a reverse-merge of the changes in revision 210 which you can then check in as revision 211. That should solve your problem.
If the developer deleted the repository on your SVN server, you need a daily backup to restore your code.
As long as your repository on the server is intact it is not possible to delete anything from SVN. When you delete something, it simply becomes invisible from that point forward but you can always go back to any version of any file in the repository – you just need to go to the right revision.