# HG changeset patch # User Patrick Mezard # Date 2008-02-06 22:09:13 # Node ID cee68264ed92444e59a9bd5cf9519702b092363e # Parent b70a530bdb93440296be06372e585242b035cb54 mq: qimport must read patches in binary mode diff --git a/hgext/mq.py b/hgext/mq.py --- a/hgext/mq.py +++ b/hgext/mq.py @@ -1414,7 +1414,7 @@ class queue: 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: diff --git a/tests/test-mq-qimport b/tests/test-mq-qimport new file mode 100755 --- /dev/null +++ b/tests/test-mq-qimport @@ -0,0 +1,36 @@ +#!/bin/sh + +cat > writelines.py <> $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 + + diff --git a/tests/test-mq-qimport.out b/tests/test-mq-qimport.out new file mode 100644 --- /dev/null +++ b/tests/test-mq-qimport.out @@ -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