diff options
Diffstat (limited to 'tests/test-merge-prompt.t')
-rw-r--r-- | tests/test-merge-prompt.t | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/tests/test-merge-prompt.t b/tests/test-merge-prompt.t new file mode 100644 index 0000000..43f39c2 --- /dev/null +++ b/tests/test-merge-prompt.t @@ -0,0 +1,142 @@ +Test for +b5605d88dc27: Make ui.prompt repeat on "unrecognized response" again + (issue897) + +840e2b315c1f: Fix misleading error and prompts during update/merge + (issue556) + + $ 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 <<EOF + > c + > d + > EOF + local changed file1 which remote deleted + use (c)hanged version or (d)elete? remote changed file2 which local deleted + use (c)hanged version or leave (d)eleted? 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 <<EOF + > foo + > bar + > d + > baz + > c + > EOF + local changed file1 which remote deleted + use (c)hanged version or (d)elete? unrecognized response + local changed file1 which remote deleted + use (c)hanged version or (d)elete? unrecognized response + local changed file1 which remote deleted + use (c)hanged version or (d)elete? remote changed file2 which local deleted + use (c)hanged version or leave (d)eleted? unrecognized response + remote changed file2 which local deleted + use (c)hanged version or leave (d)eleted? 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 <<EOF + > d + > EOF + local changed file1 which remote deleted + use (c)hanged version or (d)elete? 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 + |