|
|
# 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 last transaction
|
|
|
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
|
|
|
|