make appendfile simpler so it does not break with revlogng on windows.
it used to cache open files. this made revlogng break because it wants
to rename files when splitting .i into .i/.d, but cannot rename or unlink
open files on windows.
new code is bit slower, but safe on linux and windows. proper fix for
too many open/close of changelog/manifest belongs in different place.
can get 10% speed improvement back.
#!/bin/sh
cat <<'EOF' > merge
#!/bin/sh
echo merging for `basename $1`
EOF
chmod +x merge
HGMERGE=./merge; export HGMERGE
mkdir A1
cd A1
hg init
echo This is file foo1 > foo
echo This is file bar1 > bar
hg add foo bar
hg commit -m "commit text" -d "1000000 0"
cd ..
hg clone A1 B1
cd A1
rm bar
hg remove bar
hg commit -m "commit test" -d "1000000 0"
cd ../B1
echo This is file foo22 > foo
hg commit -m "commit test" -d "1000000 0"
cd ..
hg clone A1 A2
hg clone B1 B2
cd A1
hg pull ../B1
hg update -m
hg commit -m "commit test" -d "1000000 0"
echo bar should remain deleted.
hg manifest
cd ../B2
hg pull ../A2
hg update -m
hg commit -m "commit test" -d "1000000 0"
echo bar should remain deleted.
hg manifest