Mercurial > hg
view tests/test-import @ 5820:3a1ffc1da32c
Fixed numerous XHTML problems that caused validation errors and warnings.
Link elements for Atom and RSS feeds had no end tag. <div> block element
inside <a> in-line element isn't right and caused rendering problems on
Safari. Spurious </div> tag in search forms. Branch entry missing closing
</a> tag.
author | Kevin Christen <kevin.christen@gmail.com> |
---|---|
date | Mon, 07 Jan 2008 21:29:40 -0600 |
parents | dccc127bfc07 |
children | deb0d3518674 |
line wrap: on
line source
#!/bin/sh hg init a mkdir a/d1 mkdir a/d1/d2 echo line 1 > a/a echo line 1 > a/d1/d2/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 -r 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 -r 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 -r b echo % hg -R repo import # put the clone in a subdir - having a directory named "a" # used to hide a bug. mkdir dir hg clone -r0 a dir/b hg --cwd a export tip > dir/tip.patch cd dir hg -R b import tip.patch cd .. rm -r dir echo % import from stdin hg clone -r0 a b hg --cwd a export tip | hg --cwd b import - rm -r 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 -r b cat > mkmsg.py <<EOF import email.Message, sys msg = email.Message.Message() msg.set_payload('email commit message\n' + open('tip.patch', 'rb').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 -r 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 -r 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 -r b echo % plain diff in email, no subject, no message body, should fail hg clone -r0 a b egrep -v '^(Subject|email)' msg.patch | hg --cwd b import - rm -r 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 -r b # subject: duplicate detection, removal of [PATCH] # The '---' tests the gitsendmail handling without proper mail headers cat > mkmsg2.py <<EOF import email.Message, sys msg = email.Message.Message() msg.set_payload('email patch\n\nnext line\n---\n' + open('tip.patch').read()) msg['Subject'] = '[PATCH] email patch' msg['From'] = 'email patcher' sys.stdout.write(msg.as_string()) EOF echo '% plain diff in email, [PATCH] subject, message body with subject' hg clone -r0 a b hg --cwd a diff -r0:1 > tip.patch python mkmsg2.py | hg --cwd b import - hg --cwd b tip --template '{desc}\n' rm -r b # bug non regression test # importing a patch in a subdirectory failed at the commit stage echo line 2 >> a/d1/d2/a hg --cwd a ci -u someoneelse -d '1 0' -m'subdir change' echo % hg import in a subdirectory hg clone -r0 a b hg --cwd a export tip | sed -e 's/d1\/d2\///' > tip.patch dir=`pwd` cd b/d1/d2 2>&1 > /dev/null hg import ../../../tip.patch cd $dir echo "% message should be 'subdir change'" hg --cwd b tip | grep 'subdir change' echo "% committer should be 'someoneelse'" hg --cwd b tip | grep someoneelse echo "% should be empty" hg --cwd b status # Test fuzziness (ambiguous patch location, fuzz=2) echo % test fuzziness hg init fuzzy cd fuzzy echo line1 > a echo line0 >> a echo line3 >> a hg ci -Am adda echo line1 > a echo line2 >> a echo line0 >> a echo line3 >> a hg ci -m change a hg export tip > tip.patch hg up -C 0 echo line1 > a echo line0 >> a echo line1 >> a echo line0 >> a hg ci -m brancha hg import -v tip.patch cd ..