From patchwork Tue Mar 8 17:28:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [STABLE] bdiff: (pure) support array.array arrays (issue5130) From: timeless@mozdev.org X-Patchwork-Id: 13683 Message-Id: <5d69a2ef233c74a13d58.1457458091@waste.org> To: mercurial-devel@mercurial-scm.org Date: Tue, 08 Mar 2016 11:28:11 -0600 # HG changeset patch # User timeless # Date 1457457972 0 # Tue Mar 08 17:26:12 2016 +0000 # Branch stable # Node ID 5d69a2ef233c74a13d584679bbbb6200a3904441 # Parent 8949d73b2e1f5c0b9c4c6c195bef2fe284349c6e bdiff: (pure) support array.array arrays (issue5130) diff --git a/mercurial/pure/bdiff.py b/mercurial/pure/bdiff.py --- a/mercurial/pure/bdiff.py +++ b/mercurial/pure/bdiff.py @@ -7,6 +7,7 @@ from __future__ import absolute_import +import array import difflib import re import struct @@ -50,9 +51,14 @@ r.append(prev) return r +def _tostring(c): + if type(c) is array.array: + 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) diff --git a/tests/test-clone-uncompressed.t b/tests/test-clone-uncompressed.t --- a/tests/test-clone-uncompressed.t +++ b/tests/test-clone-uncompressed.t @@ -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 ..