view tests/test-merge1 @ 1739:57de7e1a81d2

AmbiguousCommand is raised too soon. Right now, hg raises AmbiguousCommand as soon as it finds two commands/aliases that start with the substring it's searching for, even though it may still find a full match later on. This is a bit hard to hit on purpose, because hg checks the list of commands in whatever order is returned by table.keys(), which will change when you add an alias to a command. You should be able to hit it by adding an alias "u" to the "identify" command - not that that makes a lot of sense...
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Fri, 17 Feb 2006 17:41:23 -0600
parents db10b7114de0
children 7544700fd931
line wrap: on
line source

#!/bin/sh

cat <<'EOF' > merge
#!/bin/sh
echo merging for `basename $1`
EOF
chmod +x merge

mkdir t
cd t
hg init
echo This is file a1 > a
hg add a
hg commit -m "commit #0" -d "0 0"
echo This is file b1 > b
hg add b
hg commit -m "commit #1" -d "0 0"

hg update 0
echo This is file c1 > c
hg add c
hg commit -m "commit #2" -d "0 0"
echo This is file b1 > b
echo %% no merges expected
env HGMERGE=../merge hg update -m 1
cd ..; /bin/rm -rf t

mkdir t
cd t
hg init
echo This is file a1 > a
hg add a
hg commit -m "commit #0" -d "0 0"
echo This is file b1 > b
hg add b
hg commit -m "commit #1" -d "0 0"

hg update 0
echo This is file c1 > c
hg add c
hg commit -m "commit #2" -d "0 0"
echo This is file b2 > b
echo %% merge should fail
env HGMERGE=../merge hg update -m 1
echo %% merge of b expected
env HGMERGE=../merge hg update -f -m 1
cd ..; /bin/rm -rf t
echo %%

mkdir t
cd t
hg init
echo This is file a1 > a
hg add a
hg commit -m "commit #0" -d "0 0"
echo This is file b1 > b
hg add b
hg commit -m "commit #1" -d "0 0"
echo This is file b22 > b
hg commit -m "commit #2" -d "0 0"
hg update 1
echo This is file c1 > c
hg add c
hg commit -m "commit #3" -d "0 0"

echo 'Contents of b should be "this is file b1"'
cat b

echo This is file b22 > b
echo %% merge fails
env HGMERGE=../merge hg update -m 2
echo %% merge expected!
env HGMERGE=../merge hg update -f -m 2
cd ..; /bin/rm -rf t

mkdir t
cd t
hg init
echo This is file a1 > a
hg add a
hg commit -m "commit #0" -d "0 0"
echo This is file b1 > b
hg add b
hg commit -m "commit #1" -d "0 0"
echo This is file b22 > b
hg commit -m "commit #2" -d "0 0"
hg update 1
echo This is file c1 > c
hg add c
hg commit -m "commit #3" -d "0 0"
echo This is file b33 > b
echo %% merge of b should fail
env HGMERGE=../merge hg update -m 2
echo %% merge of b expected
env HGMERGE=../merge hg update -f -m 2
cd ..; /bin/rm -rf t