D746: changegroup: remove dictionary creation from deltachunk
durham (Durham Goode)
phabricator at mercurial-scm.org
Wed Sep 20 16:42:25 UTC 2017
durham created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Previously delta chunk returned a dictionary. Now that we consume deltachunk
within changegroup (instead of outside in revlog) we can just return a tuple and
have it be returned directly by deltaiter.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D746
AFFECTED FILES
mercurial/changegroup.py
CHANGE DETAILS
diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py
--- a/mercurial/changegroup.py
+++ b/mercurial/changegroup.py
@@ -188,8 +188,7 @@
header = struct.unpack(self.deltaheader, headerdata)
delta = readexactly(self._stream, l - self.deltaheadersize)
node, p1, p2, deltabase, cs, flags = self._deltaheader(header, prevnode)
- return {'node': node, 'p1': p1, 'p2': p2, 'cs': cs,
- 'deltabase': deltabase, 'delta': delta, 'flags': flags}
+ return (node, p1, p2, cs, deltabase, delta, flags)
def getchunks(self):
"""returns all the chunks contains in the bundle
@@ -438,17 +437,9 @@
"""
chain = None
for chunkdata in iter(lambda: self.deltachunk(chain), {}):
- node = chunkdata['node']
- p1 = chunkdata['p1']
- p2 = chunkdata['p2']
- cs = chunkdata['cs']
- deltabase = chunkdata['deltabase']
- delta = chunkdata['delta']
- flags = chunkdata['flags']
-
- chain = node
-
- yield (node, p1, p2, cs, deltabase, delta, flags)
+ # Chunkdata: (node, p1, p2, cs, deltabase, delta, flags)
+ yield chunkdata
+ chain = chunkdata[0]
class cg2unpacker(cg1unpacker):
"""Unpacker for cg2 streams.
To: durham, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list