# HG changeset patch # User Patrick Mezard # Date 1202335753 -3600 # Node ID cee68264ed92444e59a9bd5cf9519702b092363e # Parent b70a530bdb93440296be06372e585242b035cb54 mq: qimport must read patches in binary mode diff -r b70a530bdb93 -r cee68264ed92 hgext/mq.py --- 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: diff -r b70a530bdb93 -r cee68264ed92 tests/test-mq-qimport --- /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 <> $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 -r b70a530bdb93 -r cee68264ed92 tests/test-mq-qimport.out --- /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