Undo bad commit.
authorOleksandr Gavenko <gavenkoa@gmail.com>
Sun, 16 May 2010 21:50:38 +0300
changeset 396 44668f040a5d
parent 395 51561eef9a7d
child 397 469dbeffe9ec
Undo bad commit.
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