mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 00:14:35 +03:00
8a7d38f2e2
Backing out a changeset that is before a named branch branchpoint was making the reverse changeset the tip of the old branch, which is wrong and very confusing. So instead, we put it on the current named branch.
96 lines
2.9 KiB
Plaintext
96 lines
2.9 KiB
Plaintext
# 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 back out change on a different branch
|
|
adding c
|
|
created new head
|
|
abort: cannot back out 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 back out 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
|