Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to recover from an accidental "svn revert"?

Tags:

undo

revert

svn

I managed to shoot myself in the foot this morning by doing the following:

  1. Started working on a change to my project
  2. Made a bunch of edits to a bunch of files
  3. Realized that my approach was all wrong, and that I needed to start over
  4. cd'd to the top level of my project and did a "svn --recursive revert ." to restore my local sandbox to its pre-changes state.
  5. Howled in horror as I realized that there had been a number of other changes outstanding in my local sandbox, and I had just obliterated all of them. (the svn server had been down last Friday so I hadn't been able to check them in, and I had forgot about them over the weekend)

Fortunately in this case I had done an "svn diff > temp.txt" before leaving work on Friday, and the temp.txt file was still on my hard drive, so I was able to feed that file into "patch" and recover my lost changes.

But for my future reference (i.e. the next time I make the same dumb mistake)... is there any way to tell svn to undo an "svn revert"? Does svn keep a backup of the local/not-checked-in diffs anywhere?

like image 779
Jeremy Friesner Avatar asked Oct 05 '09 17:10

Jeremy Friesner


People also ask

How do I get reverted changes back in svn?

Right click on the selected revision(s), then select Context Menu → Revert changes from this revision. Or if you want to make an earlier revision the new HEAD revision, right click on the selected revision, then select Context Menu → Revert to this revision.

What does svn revert do?

Reverts any local changes to a file or directory and resolves any conflicted states. svn revert will revert not only the contents of an item in your working copy, but also any property changes.


2 Answers

There is a solution... go to your recycle bin you'll find there the latest version of the deleted file. Tortoise "throwing" to the recycle bin every file that it revert.

like image 174
shto Avatar answered Sep 21 '22 11:09

shto


No, (absolutely) NO.

If you say to Subversion it should revert a file, all changes are gone by the wind.

Only your memory can get them back.

Exception: New files you had added, will only lose their status "added", but the file will remain in this directory, only status is unknown("?")

Platform / Software exception: Using TortoiseSVN on Windows, Revert first throws the files into Recycle Bin and then reverts them. You can dig into the Recycle Bin to recover the files.

like image 32
Peter Parker Avatar answered Sep 20 '22 11:09

Peter Parker