rebase: keep original mq patch format (Issue1574)
Rebase now doesn't make assumptions about which format has been
used for a mq patch (git or normal).
Before finalizing a patch it keeps track of the original format,
by reading its header, and then restores the format when reimporting
it.
This way it also allows for having mixed styles.
Note: this version corrects a failure in the test
#!/bin/sh
cat <<EOF > merge
import sys, os
print "merging for", os.path.basename(sys.argv[1])
EOF
HGMERGE="python ../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 merge
hg commit -m "commit test" -d "1000000 0"
echo bar should remain deleted.
hg manifest --debug
cd ../B2
hg pull ../A2
hg merge
hg commit -m "commit test" -d "1000000 0"
echo bar should remain deleted.
hg manifest --debug