--- 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