|
|
#!/bin/sh
|
|
|
|
|
|
cat > writelines.py <<EOF
|
|
|
import sys
|
|
|
path = sys.argv[1]
|
|
|
args = sys.argv[2:]
|
|
|
assert (len(args) % 2) == 0
|
|
|
|
|
|
f = file(path, 'wb')
|
|
|
for i in xrange(len(args)/2):
|
|
|
count, s = args[2*i:2*i+2]
|
|
|
count = int(count)
|
|
|
s = s.decode('string_escape')
|
|
|
f.write(s*count)
|
|
|
f.close()
|
|
|
|
|
|
EOF
|
|
|
|
|
|
echo "[extensions]" >> $HGRCPATH
|
|
|
echo "mq=" >> $HGRCPATH
|
|
|
echo "[diff]" >> $HGRCPATH
|
|
|
echo "git=1" >> $HGRCPATH
|
|
|
|
|
|
hg init repo
|
|
|
cd repo
|
|
|
|
|
|
echo % qimport non-existing-file
|
|
|
hg qimport non-existing-file
|
|
|
|
|
|
echo % import URL
|
|
|
echo foo >> foo
|
|
|
hg add foo
|
|
|
hg diff > $HGTMP/url.diff
|
|
|
hg revert --no-backup foo
|
|
|
rm foo
|
|
|
# Under unix: file:///foobar/blah
|
|
|
# Under windows: file:///c:/foobar/blah
|
|
|
patchurl=`echo $HGTMP/url.diff | tr '\\\\' /`
|
|
|
expr $patchurl : "\/" > /dev/null
|
|
|
if [ $? -ne 0 ]; then
|
|
|
patchurl='/'$patchurl
|
|
|
fi
|
|
|
hg qimport file://$patchurl
|
|
|
hg qun
|
|
|
|
|
|
echo % import patch that already exists
|
|
|
echo foo2 >> foo
|
|
|
hg add foo
|
|
|
hg diff > ../url.diff
|
|
|
hg revert --no-backup foo
|
|
|
rm foo
|
|
|
hg qimport ../url.diff
|
|
|
hg qpush
|
|
|
cat foo
|
|
|
hg qpop
|
|
|
echo % qimport -f
|
|
|
hg qimport -f ../url.diff
|
|
|
hg qpush
|
|
|
cat foo
|
|
|
hg qpop
|
|
|
|
|
|
echo % build diff with CRLF
|
|
|
python ../writelines.py b 5 'a\n' 5 'a\r\n'
|
|
|
hg ci -Am addb
|
|
|
python ../writelines.py b 2 'a\n' 10 'b\n' 2 'a\r\n'
|
|
|
hg diff > b.diff
|
|
|
hg up -C
|
|
|
echo % qimport CRLF diff
|
|
|
hg qimport b.diff
|
|
|
hg qpush
|
|
|
|
|
|
echo % try to import --push
|
|
|
echo another >> b
|
|
|
hg diff > another.diff
|
|
|
hg up -C
|
|
|
hg qimport --push another.diff
|
|
|
hg qfin -a
|
|
|
hg qimport -rtip -P
|
|
|
|