|
|
#!/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
|
|
|
|