tests/test-mq-qimport
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Thu, 13 Mar 2008 19:50:03 -0300
changeset 6245 0d0939b2d272
parent 6027 cee68264ed92
child 6940 05ec27530d04
permissions -rwxr-xr-x
setup.py: skip inotify if there's no inotify_add_watch Debian Etch doesn't include a sys/inotify.h header, which makes it impossible to compile _inotify.c, making hg uninstallable. The cc.has_function() method is implemented by trying to compile a simple C program. Since there's no redirection involved all error messages are sent to the terminal. This is not particularly pretty but at least it allows the installation to complete.

#!/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

echo % build diff with CRLF
hg init repo
cd repo
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