:orphan:

hg backout
==========

reverse effect of earlier changeset
-----------------------------------

Prepare a new changeset with the effect of REV undone in the
current working directory. If no conflicts were encountered,
it will be committed immediately.

If REV is the parent of the working directory, then this new changeset
is committed automatically (unless --no-commit is specified).

.. note::

   :hg:`backout` cannot be used to fix either an unwanted or
   incorrect merge.

.. container:: verbose

  Examples:

  - Reverse the effect of the parent of the working directory.
    This backout will be committed immediately::

      hg backout -r .

  - Reverse the effect of previous bad revision 23::

      hg backout -r 23

  - Reverse the effect of previous bad revision 23 and
    leave changes uncommitted::

      hg backout -r 23 --no-commit
      hg commit -m "Backout revision 23"

  By default, the pending changeset will have one parent,
  maintaining a linear history. With --merge, the pending
  changeset will instead have two parents: the old parent of the
  working directory and a new child of REV that simply undoes REV.

  Before version 1.7, the behavior without --merge was equivalent
  to specifying --merge followed by :hg:`update --clean .` to
  cancel the merge and leave the child of REV as a head to be
  merged separately.

See :hg:`help dates` for a list of formats valid for -d/--date.

See :hg:`help revert` for a way to restore files to the state
of another revision.

Returns 0 on success, 1 if nothing to backout or there are unresolved
files.
