So say I have the three latest revisions of an aspx file: 55, 56 and 57. Revision 56 added a feature that I want to remove, but I also want to 开发者_如何转开发have the new features deployed in version 57. Is there any way I can merge version 55 with 57, leaving revision 56 out of the picture?
If it matters, I'm using Tortoise SVN and Visual SVN, but I normally just use Tortoise.
Thanks for any ideas.
If I'm following your question, it sounds like you want r57 minus r56. (i.e. including changes from r55 to r0)
command-line:
svn merge <path_to_repo> . -c -56
Tortoise:
Show Log / Right-click revision 56 and select "Revert changes from this revision"
Show the log for that file. Select revisions 55 and 57 (hold down the ctrl key for multi-selection). Right-click, choose "revert changes from these revisions". then commit.
I don't think you can "skip a revision". Keep in mind that Subversion stores all this data as a series of diffs, and leaving out one revision would render SVN clueless as to how to apply the following one. You can create a patch that undoes whatever was done in revision 56. Just run
svn up
svn diff -r 55:56 > /tmp/r56.patch
patch -p1 < /tmp/r56.patch
svn -m "Undo changes from revision 56."
精彩评论