# should complain abort: please specify a revision to backout abort: please specify just one revision # basic operation adding a reverting a changeset 2:2929462c3dff backs out changeset 1:a820f4f40a57 a # file that was removed is recreated adding a adding a changeset 2:de31bdc76c0d backs out changeset 1:76862dcce372 content # backout of backout is as if nothing happened removing a changeset 3:7f6d0f120113 backs out changeset 2:de31bdc76c0d cat: a: No such file or directory # across branch adding a adding b 0 files updated, 0 files merged, 1 files removed, 0 files unresolved abort: cannot backout change on a different branch adding c created new head abort: cannot backout change on a different branch # backout with merge adding a reverting a created new head changeset 3:26b8ccb9ad91 backs out changeset 1:5a50a024c182 merging with changeset 3:26b8ccb9ad91 merging a 0 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) line 1 line 2 line 3 # backout should not back out subsequent changesets adding a adding b reverting a created new head changeset 3:3202beb76721 backs out changeset 1:22bca4c721e5 the backout changeset is a new head - do not forget to merge (use "backout --merge" if you want to auto-merge) b 1 files updated, 0 files merged, 1 files removed, 0 files unresolved adding a adding b adding c 0 files updated, 0 files merged, 1 files removed, 0 files unresolved adding d created new head 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) # backout of merge should fail abort: cannot backout a merge changeset without --parent # backout of merge with bad parent should fail abort: cb9a9f314b8b is not a parent of b2f3bb92043e # backout of non-merge with parent should fail abort: cannot use --parent on non-merge changeset # backout with valid parent should be ok removing d changeset 5:10e5328c8435 backs out changeset 4:b2f3bb92043e rolling back to revision 4 (undo commit) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved removing c changeset 5:033590168430 backs out changeset 4:b2f3bb92043e # named branches adding default marked working directory as branch branch1 adding file1 marked working directory as branch branch2 adding file2 removing file1 created new head changeset 3:d4e8f6db59fb backs out changeset 1:bf1602f437f3 the backout changeset is a new head - do not forget to merge (use "backout --merge" if you want to auto-merge) % on branch2 with branch1 not merged, so file1 should still exist: 45bbcd363bf0 (branch2) C default C file1 C file2 % on branch2 with branch1 merged, so file1 should be gone: 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (branch merge, don't forget to commit) 22149cdde76d (branch2) tip C default C file2 % on branch1, so no file1 and file2: 1 files updated, 0 files merged, 1 files removed, 0 files unresolved bf1602f437f3 (branch1) C default C file1