tests/test-merge1
author mpm@selenic.com
Tue, 28 Jun 2005 02:38:33 -0800
changeset 508 42a660abaf75
parent 430 5b22029b5aa2
child 749 7e4843b7efd2
permissions -rwxr-xr-x
[PATCH] Harden os.system -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [PATCH] Harden os.system From: Bryan O'Sullivan <bos@serpentine.com> Add util.system function. This is similar to os.system, but will either succeed (if the process finishes with a zero exit code) or raise a util.CommandError (if the process exits uncleanly or is killed by a signal). Add util.explain_exit function. This tends to be ubiquitous in code that calls other processes, and must describe what has gone wrong. Change some uses of os.system over to util.system. manifest hash: e3bf4adcac5b915432ec0af00efdbcef86bea4b1 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCwSipywK+sNU5EO8RAr0RAJkBDt8XQ7mYQAWNHNgTOVt1eyWU1QCfe1oO 2OwxyWqpbRNACVJHHfZ3/Xw= =OaRX -----END PGP SIGNATURE-----

#!/bin/sh -x

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 -t "commit #0" -d "0 0" -u user
echo This is file b1 > b
hg add b
hg commit -t "commit #1" -d "0 0" -u user

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

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

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

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

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