# HG changeset patch # User Siddharth Agarwal # Date 1447291961 28800 # Node ID fdfc50d09e8d59954c39ed63c16a6e7c886c33ec # Parent 3309714ded262f1bb3e32dd552b01d6926de06d5 test-merge-prompt.t: rename to test-merge-changedelete.t Because: (a) the only prompts we test in this file are change/delete prompts, and (b) we're going to be expanding the scope of this test to cover future improvements to change/delete conflicts, including avoiding prompts altogether. diff -r 3309714ded26 -r fdfc50d09e8d tests/test-merge-changedelete.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-merge-changedelete.t Wed Nov 11 17:32:41 2015 -0800 @@ -0,0 +1,175 @@ +Test for +b5605d88dc27: Make ui.prompt repeat on "unrecognized response" again + (issue897) + +840e2b315c1f: Fix misleading error and prompts during update/merge + (issue556) + +Make sure HGMERGE doesn't interfere with the test + $ unset HGMERGE + + $ status() { + > echo "--- status ---" + > hg st -A file1 file2 + > for file in file1 file2; do + > if [ -f $file ]; then + > echo "--- $file ---" + > cat $file + > else + > echo "*** $file does not exist" + > fi + > done + > } + + $ hg init + + $ echo 1 > file1 + $ echo 2 > file2 + $ hg ci -Am 'added file1 and file2' + adding file1 + adding file2 + + $ hg rm file1 + $ echo changed >> file2 + $ hg ci -m 'removed file1, changed file2' + + $ hg co 0 + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + + $ echo changed >> file1 + $ hg rm file2 + $ hg ci -m 'changed file1, removed file2' + created new head + + +Non-interactive merge: + + $ hg merge -y + local changed file1 which remote deleted + use (c)hanged version or (d)elete? c + remote changed file2 which local deleted + use (c)hanged version or leave (d)eleted? c + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + + $ status + --- status --- + M file2 + C file1 + --- file1 --- + 1 + changed + --- file2 --- + 2 + changed + + +Interactive merge: + + $ hg co -C + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + + $ hg merge --config ui.interactive=true < c + > d + > EOF + local changed file1 which remote deleted + use (c)hanged version or (d)elete? c + remote changed file2 which local deleted + use (c)hanged version or leave (d)eleted? d + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + + $ status + --- status --- + file2: * (glob) + C file1 + --- file1 --- + 1 + changed + *** file2 does not exist + + +Interactive merge with bad input: + + $ hg co -C + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + + $ hg merge --config ui.interactive=true < foo + > bar + > d + > baz + > c + > EOF + local changed file1 which remote deleted + use (c)hanged version or (d)elete? foo + unrecognized response + local changed file1 which remote deleted + use (c)hanged version or (d)elete? bar + unrecognized response + local changed file1 which remote deleted + use (c)hanged version or (d)elete? d + remote changed file2 which local deleted + use (c)hanged version or leave (d)eleted? baz + unrecognized response + remote changed file2 which local deleted + use (c)hanged version or leave (d)eleted? c + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + (branch merge, don't forget to commit) + + $ status + --- status --- + M file2 + R file1 + *** file1 does not exist + --- file2 --- + 2 + changed + + +Interactive merge with not enough input: + + $ hg co -C + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + + $ hg merge --config ui.interactive=true < d + > EOF + local changed file1 which remote deleted + use (c)hanged version or (d)elete? d + remote changed file2 which local deleted + use (c)hanged version or leave (d)eleted? abort: response expected + [255] + + $ status + --- status --- + file2: * (glob) + C file1 + --- file1 --- + 1 + changed + *** file2 does not exist + +Non-interactive linear update + + $ hg co -C 0 + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo changed >> file1 + $ hg rm file2 + $ hg update 1 -y + local changed file1 which remote deleted + use (c)hanged version or (d)elete? c + remote changed file2 which local deleted + use (c)hanged version or leave (d)eleted? c + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ status + --- status --- + A file1 + C file2 + --- file1 --- + 1 + changed + --- file2 --- + 2 + changed diff -r 3309714ded26 -r fdfc50d09e8d tests/test-merge-prompt.t --- a/tests/test-merge-prompt.t Thu Nov 12 20:48:41 2015 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,175 +0,0 @@ -Test for -b5605d88dc27: Make ui.prompt repeat on "unrecognized response" again - (issue897) - -840e2b315c1f: Fix misleading error and prompts during update/merge - (issue556) - -Make sure HGMERGE doesn't interfere with the test - $ unset HGMERGE - - $ status() { - > echo "--- status ---" - > hg st -A file1 file2 - > for file in file1 file2; do - > if [ -f $file ]; then - > echo "--- $file ---" - > cat $file - > else - > echo "*** $file does not exist" - > fi - > done - > } - - $ hg init - - $ echo 1 > file1 - $ echo 2 > file2 - $ hg ci -Am 'added file1 and file2' - adding file1 - adding file2 - - $ hg rm file1 - $ echo changed >> file2 - $ hg ci -m 'removed file1, changed file2' - - $ hg co 0 - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved - - $ echo changed >> file1 - $ hg rm file2 - $ hg ci -m 'changed file1, removed file2' - created new head - - -Non-interactive merge: - - $ hg merge -y - local changed file1 which remote deleted - use (c)hanged version or (d)elete? c - remote changed file2 which local deleted - use (c)hanged version or leave (d)eleted? c - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - (branch merge, don't forget to commit) - - $ status - --- status --- - M file2 - C file1 - --- file1 --- - 1 - changed - --- file2 --- - 2 - changed - - -Interactive merge: - - $ hg co -C - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved - - $ hg merge --config ui.interactive=true < c - > d - > EOF - local changed file1 which remote deleted - use (c)hanged version or (d)elete? c - remote changed file2 which local deleted - use (c)hanged version or leave (d)eleted? d - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved - (branch merge, don't forget to commit) - - $ status - --- status --- - file2: * (glob) - C file1 - --- file1 --- - 1 - changed - *** file2 does not exist - - -Interactive merge with bad input: - - $ hg co -C - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved - - $ hg merge --config ui.interactive=true < foo - > bar - > d - > baz - > c - > EOF - local changed file1 which remote deleted - use (c)hanged version or (d)elete? foo - unrecognized response - local changed file1 which remote deleted - use (c)hanged version or (d)elete? bar - unrecognized response - local changed file1 which remote deleted - use (c)hanged version or (d)elete? d - remote changed file2 which local deleted - use (c)hanged version or leave (d)eleted? baz - unrecognized response - remote changed file2 which local deleted - use (c)hanged version or leave (d)eleted? c - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved - (branch merge, don't forget to commit) - - $ status - --- status --- - M file2 - R file1 - *** file1 does not exist - --- file2 --- - 2 - changed - - -Interactive merge with not enough input: - - $ hg co -C - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved - - $ hg merge --config ui.interactive=true < d - > EOF - local changed file1 which remote deleted - use (c)hanged version or (d)elete? d - remote changed file2 which local deleted - use (c)hanged version or leave (d)eleted? abort: response expected - [255] - - $ status - --- status --- - file2: * (glob) - C file1 - --- file1 --- - 1 - changed - *** file2 does not exist - -Non-interactive linear update - - $ hg co -C 0 - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ echo changed >> file1 - $ hg rm file2 - $ hg update 1 -y - local changed file1 which remote deleted - use (c)hanged version or (d)elete? c - remote changed file2 which local deleted - use (c)hanged version or leave (d)eleted? c - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ status - --- status --- - A file1 - C file2 - --- file1 --- - 1 - changed - --- file2 --- - 2 - changed