diff -r 72f4e924f25a -r e4fc3af2d0a9 tests/test-grab.t --- a/tests/test-grab.t Tue Jan 22 12:54:41 2019 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,336 +0,0 @@ -Test for the grab command - - $ cat >> $HGRCPATH < [alias] - > glog = log -G -T "{rev}:{node|short} {desc}\n" - > [extensions] - > EOF - $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH - - $ mkcommit() { - > echo "$1" > "$1" - > hg add "$1" - > hg ci -m "add $1" - > } - - $ hg init repo - $ cd repo - $ hg help grab - hg pick [-r] rev - - aliases: grab - - move a commit on the top of working directory parent and updates to it. - - options: - - -r --rev REV revision to pick - -c --continue continue interrupted pick - -a --abort abort interrupted pick - - (some details hidden, use --verbose to show complete help) - - $ mkcommit a - $ mkcommit b - $ mkcommit c - - $ hg glog - @ 2:4538525df7e2 add c - | - o 1:7c3bad9141dc add b - | - o 0:1f0dee641bb7 add a - - -Grabbing an ancestor - - $ hg pick -r 7c3bad9141dc - abort: cannot pick an ancestor revision - [255] - -Grabbing the working directory parent - - $ hg pick -r . - abort: cannot pick an ancestor revision - [255] - -Specifying multiple revisions to grab - - $ hg pick 1f0dee641bb7 -r 7c3bad9141dc - abort: specify just one revision - [255] - -Specifying no revisions to grab - - $ hg pick - abort: empty revision set - [255] - -Continuing without interrupted grab - - $ hg pick --continue - abort: no interrupted pick state exists - [255] - -Aborting without interrupted grab - - $ hg pick --abort - abort: no interrupted pick state exists - [255] - -Specifying both continue and revs - - $ hg up 1f0dee641bb7 - 0 files updated, 0 files merged, 2 files removed, 0 files unresolved - $ hg pick -r 4538525df7e2 --continue - abort: cannot specify both --continue and revision - [255] - -Making new branch heads - - $ mkcommit x - created new head - $ mkcommit y - - $ hg glog - @ 4:d46dc301d92f add y - | - o 3:8e224524cd09 add x - | - | o 2:4538525df7e2 add c - | | - | o 1:7c3bad9141dc add b - |/ - o 0:1f0dee641bb7 add a - -Grabbing a revision - - $ hg pick 7c3bad9141dc - picking 1:7c3bad9141dc "add b" - 1 new orphan changesets - $ hg glog - @ 5:7c15c05db6fa add b - | - o 4:d46dc301d92f add y - | - o 3:8e224524cd09 add x - | - | * 2:4538525df7e2 add c - | | - | x 1:7c3bad9141dc add b - |/ - o 0:1f0dee641bb7 add a - - -When grab does not create any changes - - $ hg graft -r 4538525df7e2 - grafting 2:4538525df7e2 "add c" - - $ hg glog - @ 6:c4636a81ebeb add c - | - o 5:7c15c05db6fa add b - | - o 4:d46dc301d92f add y - | - o 3:8e224524cd09 add x - | - | * 2:4538525df7e2 add c - | | - | x 1:7c3bad9141dc add b - |/ - o 0:1f0dee641bb7 add a - - $ hg pick -r 4538525df7e2 - picking 2:4538525df7e2 "add c" - note: picking 2:4538525df7e2 created no changes to commit - - $ hg glog - @ 6:c4636a81ebeb add c - | - o 5:7c15c05db6fa add b - | - o 4:d46dc301d92f add y - | - o 3:8e224524cd09 add x - | - o 0:1f0dee641bb7 add a - -interrupted grab - - $ hg up d46dc301d92f - 0 files updated, 0 files merged, 2 files removed, 0 files unresolved - $ echo foo > c - $ hg ci -Aqm "foo to c" - $ hg pick -r c4636a81ebeb - picking 6:c4636a81ebeb "add c" - merging c - warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - unresolved merge conflicts (see hg help resolve) - [1] - - $ echo foobar > c - $ hg resolve --all --mark - (no more unresolved files) - continue: hg pick --continue - $ hg pick --continue - $ hg glog - @ 8:44e155eb95c7 add c - | - o 7:2ccc03d1d096 foo to c - | - | o 5:7c15c05db6fa add b - |/ - o 4:d46dc301d92f add y - | - o 3:8e224524cd09 add x - | - o 0:1f0dee641bb7 add a - - -When interrupted grab results in no changes to commit - - $ hg up d46dc301d92f - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved - $ echo bar > c - $ hg add c - $ hg ci -m "foo to c" - created new head - - $ hg up 44e155eb95c7 - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - - $ hg pick 4e04628911f6 - picking 9:4e04628911f6 "foo to c" - merging c - warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - unresolved merge conflicts (see hg help resolve) - [1] - $ echo foobar > c - $ hg resolve -m - (no more unresolved files) - continue: hg pick --continue - - $ hg pick --continue - note: picking 9:4e04628911f6 created no changes to commit - -Testing the abort functionality of hg pick - - $ echo foo > b - $ hg ci -Aqm "foo to b" - $ hg glog -r .^:: - @ 10:c437988de89f foo to b - | - o 8:44e155eb95c7 add c - | - ~ - - $ hg pick -r 7c15c05db6fa - picking 5:7c15c05db6fa "add b" - merging b - warning: conflicts while merging b! (edit, then use 'hg resolve --mark') - unresolved merge conflicts (see hg help resolve) - [1] - - $ hg pick --abort - aborting pick, updating to c437988de89f - - $ hg glog - @ 10:c437988de89f foo to b - | - o 8:44e155eb95c7 add c - | - o 7:2ccc03d1d096 foo to c - | - | o 5:7c15c05db6fa add b - |/ - o 4:d46dc301d92f add y - | - o 3:8e224524cd09 add x - | - o 0:1f0dee641bb7 add a - - -Trying to grab a public changeset - - $ hg phase -r 7c15c05db6fa -p - - $ hg pick -r 7c15c05db6fa - abort: cannot pick public changesets: 7c15c05db6fa - (see 'hg help phases' for details) - [255] - - $ hg glog - @ 10:c437988de89f foo to b - | - o 8:44e155eb95c7 add c - | - o 7:2ccc03d1d096 foo to c - | - | o 5:7c15c05db6fa add b - |/ - o 4:d46dc301d92f add y - | - o 3:8e224524cd09 add x - | - o 0:1f0dee641bb7 add a - -Checking phase preservation while grabbing secret changeset - -In case of merge conflicts - - $ hg phase -r 7c15c05db6fa -s -f - - $ hg pick -r 7c15c05db6fa - picking 5:7c15c05db6fa "add b" - merging b - warning: conflicts while merging b! (edit, then use 'hg resolve --mark') - unresolved merge conflicts (see hg help resolve) - [1] - - $ echo bar > b - $ hg resolve -m - (no more unresolved files) - continue: hg pick --continue - - $ hg pick --continue - $ hg phase -r . - 11: secret - -No merge conflicts - - $ hg up d46dc301d92f - 0 files updated, 0 files merged, 3 files removed, 0 files unresolved - $ echo foo > l - $ hg add l - $ hg ci -qm "added l" --secret - - $ hg phase -r . - 12: secret - - $ hg glog - @ 12:508d572e7053 added l - | - | o 11:10427de9e26e add b - | | - | o 10:c437988de89f foo to b - | | - | o 8:44e155eb95c7 add c - | | - | o 7:2ccc03d1d096 foo to c - |/ - o 4:d46dc301d92f add y - | - o 3:8e224524cd09 add x - | - o 0:1f0dee641bb7 add a - - $ hg up 10427de9e26e - 3 files updated, 0 files merged, 1 files removed, 0 files unresolved - - $ hg pick -r 508d572e7053 - picking 12:508d572e7053 "added l" - - $ hg phase -r . - 13: secret