sapling/tests/test-uncommit-merge.t
Jeremy Fitzhardinge 1fd4455c73 Implement 'hg uncommit'
Summary:
TODO:
 - fix handling of empty commit (leaves stray heads)
 - add tests

Test Plan: Add mercurial unit tests

Reviewers: #mercurial, ttung, rmcelroy, durham

Reviewed By: durham

Subscribers: quark, rmcelroy, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D3610409

Tasks: 12340638

Signature: t1:3610409:1471398045:355f20502d917374e99feee4681a7ef6f853ad6c
2016-08-17 13:43:25 -07:00

85 lines
2.2 KiB
Perl

Test uncommit with merges - set up the config
$ cat >> $HGRCPATH <<EOF
> [experimental]
> evolution=createmarkers
> [extensions]
> uncommit = $TESTDIR/../hgext3rd/uncommit.py
> EOF
Build up a repo
$ hg init repo
$ cd repo
Create some history
$ touch a
$ hg add a
$ for i in 1 2 3 4 5; do echo $i > a; hg commit -m "a $i"; done
$ hg checkout 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ touch b
$ hg add b
$ for i in 1 2 3 4 5; do echo $i > b; hg commit -m "b $i"; done
created new head
$ hg log -G -T '{rev}:{node} {desc}' --hidden
@ 9:6d48ed79c7c5f1f8384fb539cefc2f1a1875f945 b 5
|
o 8:34eb94a958c8011fdf761da547ec232eb3a31f40 b 4
|
o 7:2cd56cdde163ded2fbb16ba2f918c96046ab0bf2 b 3
|
o 6:c3a0d5bb3b15834ffd2ef9ef603e93ec65cf2037 b 2
|
o 5:49bb009ca26078726b8870f1edb29fae8f7618f5 b 1
|
| o 4:878392ab7cd2abf8e055802e9803ca47349a9bca a 5
| |
| o 3:e7efeddb4ac0ca56163381a3044c24e63fea93b7 a 4
| |
| o 2:990982b7384266e691f1bc08ca36177adcd1c8a9 a 3
| |
| o 1:24d38e3cf160c7b6f5ffe82179332229886a6d34 a 2
|/
o 0:ea4e33293d4d274a2ba73150733c2612231f398c a 1
Add and expect uncommit to fail on both merge working dir and merge changeset
$ hg merge 4
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg uncommit
abort: cannot uncommit while merging
[255]
$ hg status
M a
$ hg commit -m 'merge a and b'
$ hg uncommit
abort: cannot uncommit merge changeset
[255]
$ hg status
$ hg log -G -T '{rev}:{node} {desc}' --hidden
@ 10:a153774ccc7a95b731811dfaf594c83364c80db5 merge a and b
|\
| o 9:6d48ed79c7c5f1f8384fb539cefc2f1a1875f945 b 5
| |
| o 8:34eb94a958c8011fdf761da547ec232eb3a31f40 b 4
| |
| o 7:2cd56cdde163ded2fbb16ba2f918c96046ab0bf2 b 3
| |
| o 6:c3a0d5bb3b15834ffd2ef9ef603e93ec65cf2037 b 2
| |
| o 5:49bb009ca26078726b8870f1edb29fae8f7618f5 b 1
| |
o | 4:878392ab7cd2abf8e055802e9803ca47349a9bca a 5
| |
o | 3:e7efeddb4ac0ca56163381a3044c24e63fea93b7 a 4
| |
o | 2:990982b7384266e691f1bc08ca36177adcd1c8a9 a 3
| |
o | 1:24d38e3cf160c7b6f5ffe82179332229886a6d34 a 2
|/
o 0:ea4e33293d4d274a2ba73150733c2612231f398c a 1