diff -r 51561eef9a7d -r 44668f040a5d svn.rst --- a/svn.rst Sun May 16 21:29:38 2010 +0300 +++ b/svn.rst Sun May 16 21:50:38 2010 +0300 @@ -52,3 +52,40 @@ $ svnserve.exe -d --pid-file=svnserve.pid --root=/srv/svn/proj # default port: 3690 $ svn ls svn://localhost # check all OK $ kill -l + +* Undo bad commit. + + $ emacs FILE +... + $ svn ci -m "Introduce first bug." +Sending trunk/FILE +Transmitting file data . +Committed revision 7. + $ emacs FILE +... + $ svn ci -m "Make a lot of good changes." +... +Committed revision 8. +... + $ emacs FILE +... + $ svn ci -m "Introduce second bug." +... +Committed revision 10. + $ emacs FILE +... + $ svn ci -m "Make a lot of good changes." +... + +Now you understand that revision 7 and 10 buggy. You decide revert changes: + + $ svn merge -r 7:6 -r 10:9 FILE + $ svn ci -m "Reverted revision 7 and 10." + +For one changeset revert you can use shortly syntax: + + $ svn merge -c -7 -c -10 FILE + +Also you can use long diapason: + + $ svn merge -r 10:6 FILE