754 not opts['no_decode'], matchfn, prefix) |
754 not opts['no_decode'], matchfn, prefix) |
755 |
755 |
756 def backout(ui, repo, rev, **opts): |
756 def backout(ui, repo, rev, **opts): |
757 '''reverse effect of earlier changeset |
757 '''reverse effect of earlier changeset |
758 |
758 |
759 Commit the backed out changes as a new changeset. |
759 Commit the backed out changes as a new changeset. The new |
|
760 changeset is a child of the backed out changeset. |
760 |
761 |
761 If you back out a changeset other than the tip, a new head is |
762 If you back out a changeset other than the tip, a new head is |
762 created. The --merge option remembers the parent of the working |
763 created. This head is the parent of the working directory. If |
763 directory before starting the backout, then merges the new head |
764 you back out an old changeset, your working directory will appear |
764 with it afterwards, to save you from doing this by hand. The |
765 old after the backout. You should merge the backout changeset |
765 result of this merge is not committed, as for a normal merge.''' |
766 with another head. |
|
767 |
|
768 The --merge option remembers the parent of the working directory |
|
769 before starting the backout, then merges the new head with that |
|
770 changeset afterwards. This saves you from doing the merge by |
|
771 hand. The result of this merge is not committed, as for a normal |
|
772 merge.''' |
766 |
773 |
767 bail_if_changed(repo) |
774 bail_if_changed(repo) |
768 op1, op2 = repo.dirstate.parents() |
775 op1, op2 = repo.dirstate.parents() |
769 if op2 != nullid: |
776 if op2 != nullid: |
770 raise util.Abort(_('outstanding uncommitted merge')) |
777 raise util.Abort(_('outstanding uncommitted merge')) |