view tests/test-merge1 @ 500:ebc4714a7632

[PATCH] Clean up destination directory if a clone fails. -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [PATCH] Clean up destination directory if a clone fails. From: Bryan O'Sullivan <bos@serpentine.com> On Mon, 2005-06-27 at 16:27 +0800, Soh Tk-r28629 wrote: > Hg clone left the dest directory if the source isn't valid. > I think it should either validate the source before mkdir, or do a > rmdir to clean it up. Good suggestion, thanks. As validating the source in advance isn't really practical, I opted for the latter. manifest hash: 1508afddd2402142f9d8b2387652d4cb28ccc1f5 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCwRGPywK+sNU5EO8RApBOAJ9Fj22MP3pYJhxWsj8BYbcgWzIOKwCff9yC lX87RrDKicM1W61lBpQl20w= =efck -----END PGP SIGNATURE-----
author mpm@selenic.com
date Tue, 28 Jun 2005 00:59:59 -0800
parents 5b22029b5aa2
children 7e4843b7efd2
line wrap: on
line source

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