##// END OF EJS Templates
make changeset outputted by the raw template to be closer to 'hg export'
make changeset outputted by the raw template to be closer to 'hg export'

File last commit:

r2513:f22e3e8f default
r2520:e30f425a default
Show More
test-import
81 lines | 1.9 KiB | text/plain | TextLexer
#!/bin/sh
hg init a
echo line 1 > a/a
hg --cwd a ci -d '0 0' -Ama
echo line 2 >> a/a
hg --cwd a ci -u someone -d '1 0' -m'second change'
echo % import exported patch
hg clone -r0 a b
hg --cwd a export tip > tip.patch
hg --cwd b import ../tip.patch
echo % message should be same
hg --cwd b tip | grep 'second change'
echo % committer should be same
hg --cwd b tip | grep someone
rm -rf b
echo % import of plain diff should fail without message
hg clone -r0 a b
hg --cwd a diff -r0:1 > tip.patch
hg --cwd b import ../tip.patch
rm -rf b
echo % import of plain diff should be ok with message
hg clone -r0 a b
hg --cwd a diff -r0:1 > tip.patch
hg --cwd b import -mpatch ../tip.patch
rm -rf b
echo % import from stdin
hg clone -r0 a b
hg --cwd a export tip | hg --cwd b import -
rm -rf b
echo % override commit message
hg clone -r0 a b
hg --cwd a export tip | hg --cwd b import -m 'override' -
hg --cwd b tip | grep override
rm -rf b
cat > mkmsg.py <<EOF
import email.Message, sys
msg = email.Message.Message()
msg.set_payload('email commit message\n' + open('tip.patch').read())
msg['Subject'] = 'email patch'
msg['From'] = 'email patcher'
sys.stdout.write(msg.as_string())
EOF
echo % plain diff in email, subject, message body
hg clone -r0 a b
hg --cwd a diff -r0:1 > tip.patch
python mkmsg.py > msg.patch
hg --cwd b import ../msg.patch
hg --cwd b tip | grep email
rm -rf b
echo % plain diff in email, no subject, message body
hg clone -r0 a b
grep -v '^Subject:' msg.patch | hg --cwd b import -
rm -rf b
echo % plain diff in email, subject, no message body
hg clone -r0 a b
grep -v '^email ' msg.patch | hg --cwd b import -
rm -rf b
echo % plain diff in email, no subject, no message body, should fail
hg clone -r0 a b
grep -v '^\(Subject\|email\)' msg.patch | hg --cwd b import -
rm -rf b
echo % hg export in email, should use patch header
hg clone -r0 a b
hg --cwd a export tip > tip.patch
python mkmsg.py | hg --cwd b import -
hg --cwd b tip | grep second
rm -rf b