tests/test-mq-qimport
author Bryan O'Sullivan <bos@serpentine.com>
Fri, 11 Apr 2008 22:19:52 -0700
changeset 6526 cfeeac24fc1e
parent 6027 cee68264ed92
child 6940 05ec27530d04
permissions -rwxr-xr-x
repo: add rjoin method
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6027
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     2
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     3
cat > writelines.py <<EOF
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     4
import sys
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     5
path = sys.argv[1]
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     6
args = sys.argv[2:]
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     7
assert (len(args) % 2) == 0
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     8
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     9
f = file(path, 'wb')
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    10
for i in xrange(len(args)/2):
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    11
   count, s = args[2*i:2*i+2]
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    12
   count = int(count)
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    13
   s = s.decode('string_escape')
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    14
   f.write(s*count)
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    15
f.close()
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    16
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    17
EOF
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    18
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    19
echo "[extensions]" >> $HGRCPATH
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    20
echo "mq=" >> $HGRCPATH
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    21
echo "[diff]" >> $HGRCPATH
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    22
echo "git=1" >> $HGRCPATH
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    23
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    24
echo % build diff with CRLF
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    25
hg init repo
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    26
cd repo
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    27
python ../writelines.py b 5 'a\n' 5 'a\r\n'
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    28
hg ci -Am addb
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    29
python ../writelines.py b 2 'a\n' 10 'b\n' 2 'a\r\n'
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    30
hg diff > b.diff
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    31
hg up -C
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    32
echo % qimport CRLF diff
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    33
hg qimport b.diff
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    34
hg qpush
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    35
cee68264ed92 mq: qimport must read patches in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    36