Mercurial > hg
changeset 6027:cee68264ed92
mq: qimport must read patches in binary mode
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Wed, 06 Feb 2008 23:09:13 +0100 |
parents | b70a530bdb93 |
children | 6605a03cbf87 36a60bd5b707 |
files | hgext/mq.py tests/test-mq-qimport tests/test-mq-qimport.out |
diffstat | 3 files changed, 44 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/mq.py Tue Feb 05 15:54:42 2008 +0100 +++ b/hgext/mq.py Wed Feb 06 23:09:13 2008 +0100 @@ -1414,7 +1414,7 @@ raise util.Abort(_('need --name to import a patch from -')) text = sys.stdin.read() else: - text = file(filename).read() + text = file(filename, 'rb').read() except IOError: raise util.Abort(_("unable to read %s") % patchname) if not patchname:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-mq-qimport Wed Feb 06 23:09:13 2008 +0100 @@ -0,0 +1,36 @@ +#!/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 + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-mq-qimport.out Wed Feb 06 23:09:13 2008 +0100 @@ -0,0 +1,7 @@ +% build diff with CRLF +adding b +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +% qimport CRLF diff +adding b.diff to series file +applying b.diff +Now at: b.diff