Mercurial > hg
changeset 28389:9ab45fbe045e stable
bdiff: (pure) support array.array arrays (issue5130)
author | timeless <timeless@mozdev.org> |
---|---|
date | Tue, 08 Mar 2016 17:26:12 +0000 |
parents | b1d35e2e1af6 |
children | 48e1a641765d |
files | mercurial/pure/bdiff.py tests/test-clone-uncompressed.t |
diffstat | 2 files changed, 13 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/pure/bdiff.py Wed Mar 09 22:21:08 2016 +0000 +++ b/mercurial/pure/bdiff.py Tue Mar 08 17:26:12 2016 +0000 @@ -7,6 +7,7 @@ from __future__ import absolute_import +import array import difflib import re import struct @@ -50,9 +51,15 @@ r.append(prev) return r +def _tostring(c): + if type(c) is array.array: + # this copy overhead isn't ideal + return c.tostring() + return str(c) + def bdiff(a, b): - a = str(a).splitlines(True) - b = str(b).splitlines(True) + a = _tostring(a).splitlines(True) + b = _tostring(b).splitlines(True) if not a: s = "".join(b)
--- a/tests/test-clone-uncompressed.t Wed Mar 09 22:21:08 2016 +0000 +++ b/tests/test-clone-uncompressed.t Tue Mar 08 17:26:12 2016 +0000 @@ -1,5 +1,8 @@ #require serve +Initialize repository +the status call is to check for issue5130 + $ hg init server $ cd server $ touch foo @@ -8,6 +11,7 @@ ... with open(str(i), 'wb') as fh: ... fh.write(str(i)) $ hg -q commit -A -m 'add a lot of files' + $ hg st $ hg serve -p $HGPORT -d --pid-file=hg.pid $ cat hg.pid >> $DAEMON_PIDS $ cd ..