# HG changeset patch # User Boris Feld # Date 1516391495 -3600 # Node ID fb0be099063f9b09344ec1c9af6f3e12297b0a01 # Parent 069df0b952e803b3efb3c59c423522a4800ecde4 util: move 'readexactly' in the util module This function is used in multiple place, having it in util would be better. (existing caller will be migrated in another series) diff -r 069df0b952e8 -r fb0be099063f mercurial/changegroup.py --- a/mercurial/changegroup.py Fri Jan 19 19:13:11 2018 -0500 +++ b/mercurial/changegroup.py Fri Jan 19 20:51:35 2018 +0100 @@ -32,14 +32,7 @@ _CHANGEGROUPV2_DELTA_HEADER = "20s20s20s20s20s" _CHANGEGROUPV3_DELTA_HEADER = ">20s20s20s20s20sH" -def readexactly(stream, n): - '''read n bytes from stream.read and abort if less was available''' - s = stream.read(n) - if len(s) < n: - raise error.Abort(_("stream ended unexpectedly" - " (got %d bytes, expected %d)") - % (len(s), n)) - return s +readexactly = util.readexactly def getchunk(stream): """return the next chunk from stream as a string""" diff -r 069df0b952e8 -r fb0be099063f mercurial/util.py --- a/mercurial/util.py Fri Jan 19 19:13:11 2018 -0500 +++ b/mercurial/util.py Fri Jan 19 20:51:35 2018 +0100 @@ -3865,3 +3865,12 @@ fn = '%s~%s~%s' % (f, tag, n) if fn not in ctx and fn not in others: return fn + +def readexactly(stream, n): + '''read n bytes from stream.read and abort if less was available''' + s = stream.read(n) + if len(s) < n: + raise error.Abort(_("stream ended unexpectedly" + " (got %d bytes, expected %d)") + % (len(s), n)) + return s