Update Item to Revision vs Revert to Revision


I've started to use Subversion with TortoiseSVN. If I open up the log and right click on an old revision I see two options that sound like they roll back to an older version: "Update item to revision" and "Revert to this revision".

I understand that updating to an older revision is used when you only want to look back at an old version but not really change the repository. Revert is when you actually screwed up and want the latest revision in the repository to be the same as an older version.

So say the HEAD revision is 100 and I revert back to 95. It will reverse merge my working copy back to 95. Then I can commit that change to the repository which would create revision 101 correct? How is that different if I were to update back to revision 95? Doesn't it still just reverse the changes from the last revisions? I'm confused as to how the state of my working copy differs after a Reverting or Updating to an older revision.

Best Solution

Update to revision will only update files of your workingcopy to your choosen revision. But you cannot continue to work on this revision, as SVN will complain that your workingcopy is out of date.

revert to this revision will undo all changes in your working copy which were made after the selected revision (in your example rev. 96,97,98,99,100) Your working copy is now in modified state.

The file content of both scenarions is same, however in first case you have an unmodified working copy and you cannot commit your changes(as your workingcopy is not pointing to HEAD rev 100) in second case you have a modified working copy pointing to head and you can continue to work and commit