##// END OF EJS Templates
add a fix for issue 1175...
add a fix for issue 1175 If we copy a file followed by an update, it's possible for the parent manifest to no longer contain the source file of the copy, which could cause commit to fail. If this happens, we search backwares from the first parent to find the most likely original revision.

File last commit:

r4444:32ea809e default
r6875:0d714a48 default
Show More
test-impexp-branch
45 lines | 989 B | text/plain | TextLexer
#!/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 -