|Deletions are marked like this.||Additions are marked like this.|
|Line 31:||Line 31:|
|See also: [[Revert]]||See also: [[Update]], [[Revert]], [[Commit]], [[Merge]]|
hg backout [OPTION]... [-r] REV
Revert the effect of an earlier changeset.
Backout works by applying a changeset that's the opposite of the changeset to be backed out. That new changeset is committed to the repository, and eventually merged.
0.1. Here's some more detail from Matt about the inner workings.
(see also this email thread)
Backout is basically three steps rolled into one:
update -C <rev>
revert -r <parent of rev>
There's a fourth step that's done automatically if you specify --merge:
- merge with changeset we were at when we started to backout
And there's a fifth, manual step:
- commit the result of merging
When step 3 (commit) aborts, you're left with the first two steps completed and you can either commit yourself or update -C to abandon the process.
0.2. An example: