Mercurial > public > mercurial-scm > hg
diff tests/test-merge-prompt.t @ 12259:7b05cb9ac6d2
tests: unify test-merge-prompt
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Sun, 12 Sep 2010 11:52:13 +0200 |
parents | tests/test-merge-prompt@8a65ea986755 |
children | b63f6422d2a7 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-merge-prompt.t Sun Sep 12 11:52:13 2010 +0200 @@ -0,0 +1,144 @@ +# Test for +# +# b5605d88dc27: Make ui.prompt repeat on "unrecognized response" again +# (issue897) +# +# 840e2b315c1f: Fix misleading error and prompts during update/merge +# (issue556) + + $ status() { + > [ $? -ne 0 ] && echo "failed." + > 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 || echo "failed" + 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 || echo "failed" + > 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: No such file or directory + 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 || echo "failed" + > 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 || echo "failed" + > 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 + failed + + $ status + --- status --- + file2: No such file or directory + C file1 + --- file1 --- + 1 + changed + *** file2 does not exist +