tests/test-impexp-branch
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Sat, 06 Oct 2007 15:30:15 -0300
changeset 5403 477136fa6571
parent 4441 32ea809e5bd1
permissions -rwxr-xr-x
Always copy the necessary files before applying a git patch This patch removes the "copymod" attribute from the gitpatch class. AFAICS, that attribute was only used to delay the copying of renamed/copied files if there are no other changes to the target, but in this case, if there are changes to the source, we'll end up copying the wrong version. This should fix issue762.

#!/bin/sh

cat >findbranch.py <<EOF
import re, sys

head_re = re.compile('^#(?:(?:\\s+([A-Za-z][A-Za-z0-9_]*)(?:\\s.*)?)|(?:\\s*))$')

for line in sys.stdin:
    hmatch = head_re.match(line)
    if not hmatch:
        sys.exit(1)
    if hmatch.group(1) == 'Branch':
        sys.exit(0)
sys.exit(1)
EOF
hg init a
cd a
echo "Rev 1" >rev
hg add rev
hg commit -m "No branch."
hg branch abranch
echo "Rev  2" >rev
hg commit -m "With branch."
if hg export 0 | python ../findbranch.py; then
    echo "Export of default branch revision has Branch header" 1>&2
    exit 1
fi
if hg export 1 | python ../findbranch.py; then
    :  # Do nothing
else
    echo "Export of branch revision is missing Branch header" 1>&2
    exit 1
fi
# Make sure import still works with branch information in patches.
cd ..
hg init b
cd b
hg -R ../a export 0 | hg import -
hg -R ../a export 1 | hg import -
cd ..
rm -rf b
hg init b
cd b
hg -R ../a export 0 | hg import --exact -
hg -R ../a export 1 | hg import --exact -