convert: try to be smarter about CVS branching
Better handles this case:
The output from cvsps -A -u --cvs-direct -q:
---------------------
PatchSet 1
Date: 2008/02/08 20:33:28
Author: fk
Branch: HEAD
Tag: (none)
Log:
initial
Members:
file_one:INITIAL->1.1
---------------------
PatchSet 2
Date: 2008/02/08 20:33:32
Author: fk
Branch: branch_name
Ancestor branch: HEAD
Tag: (none)
Log:
new file on branch
Members:
file_two:1.1->1.1.2.1
#!/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