
AMDG On 02/11/2012 08:04 AM, Julian Gonggrijp wrote:
So if I checkout branch A (only) and I say "svn revert 2", only the files in branch A will be affected because svn understands that I'm not working on other branches. Is that what you're saying?
Right, although svn revert is the wrong tool. svn revert undoes uncommitted changes to the working copy.
Yes, basically that means I'm wrong. However I want to ask you how svn is doing this. Personally I think history stays as it is -- say at revision 3 -- but that svn replaces the files in my working directory with those from branch A at revision 2. Next I can edit those files or commit them straight away, which would produce revision 4.
Yep.
A reset in git is different: you undo history rather than retrieving files from an old commit. I'm still inclined to think that if there was such a thing as undoing history in svn, it would always affect the entire repository rather than just your working branch. Note that if I'm right (but again, I might not), git also has a revert operation, which lets you retrieve files from an old commit without affecting history.
That's true, which is why svn doesn't allow history to be changed at all. (Of course, it you have physical access to the repository you can delete the most recent revisions) In Christ, Steven Watanabe