mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
46 lines
989 B
Bash
Executable File
46 lines
989 B
Bash
Executable File
#!/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 -
|