view tests/test-merge1 @ 10253:b190a8125b43 stable

Work around AIX shell builtin printf not handling \NNN. On AIX, ksh builtin printf does not understand \NNN. Some tests use this to generate test data, and so fail on AIX. Rework these tests to use python to generate the correct characters. This fixes the tests on AIX and should be more generally portable.
author Jim Hague <jim.hague@acm.org>
date Wed, 06 Jan 2010 18:03:33 +0000
parents 6d36fc70754e
children
line wrap: on
line source

#!/bin/sh

cat <<EOF > merge
import sys, os

try:
    import msvcrt
    msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
    msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
except ImportError:
    pass

print "merging for", os.path.basename(sys.argv[1])
EOF
HGMERGE="python ../merge"; export HGMERGE

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

hg update 0
echo This is file c1 > c
hg add c
hg commit -m "commit #2" -d "1000000 0"
echo This is file b1 > b
echo %% no merges expected
hg merge -P 1
hg merge 1
hg diff --nodates
hg status
cd ..; rm -r t

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

hg update 0
echo This is file c1 > c
hg add c
hg commit -m "commit #2" -d "1000000 0"
echo This is file b2 > b
echo %% merge should fail
hg merge 1
echo %% merge of b expected
hg merge -f 1
hg diff --nodates
hg status
cd ..; rm -r t
echo %%

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

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

echo This is file b22 > b
echo %% merge fails
hg merge 2
echo %% merge expected!
hg merge -f 2
hg diff --nodates
hg status
cd ..; rm -r t

mkdir t
cd t
hg init
echo This is file a1 > a
hg add a
hg commit -m "commit #0" -d "1000000 0"
echo This is file b1 > b
hg add b
hg commit -m "commit #1" -d "1000000 0"
echo This is file b22 > b
hg commit -m "commit #2" -d "1000000 0"
hg update 1
echo This is file c1 > c
hg add c
hg commit -m "commit #3" -d "1000000 0"
echo This is file b33 > b
echo %% merge of b should fail
hg merge 2
echo %% merge of b expected
hg merge -f 2
hg diff --nodates
hg status