D4074: changegroup: inline ellipsisdata()
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Fri Aug 3 21:04:29 UTC 2018
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
There's only one caller of it. I don't think it needs to exist as
a standalone function.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D4074
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
@@ -497,20 +497,6 @@
return d
return readexactly(self._fh, n)
-def ellipsisdata(packer, rev, revlog_, p1, p2, data, linknode):
- n = revlog_.node(rev)
- p1n, p2n = revlog_.node(p1), revlog_.node(p2)
- flags = revlog_.flags(rev)
- flags |= revlog.REVIDX_ELLIPSIS
- meta = packer.builddeltaheader(
- n, p1n, p2n, nullid, linknode, flags)
- # TODO: try and actually send deltas for ellipsis data blocks
- diffheader = mdiff.trivialdiffheader(len(data))
- l = len(meta) + len(diffheader) + len(data)
- return ''.join((chunkheader(l),
- meta,
- diffheader,
- data))
class cg1packer(object):
deltaheader = _CHANGEGROUPV1_DELTA_HEADER
@@ -1055,10 +1041,21 @@
p2 = nullrev
else:
p1, p2 = sorted(local(p) for p in linkparents)
+
n = store.node(rev)
-
- yield ellipsisdata(
- self, rev, store, p1, p2, store.revision(n), linknode)
+ p1n, p2n = store.node(p1), store.node(p2)
+ flags = store.flags(rev)
+ flags |= revlog.REVIDX_ELLIPSIS
+ meta = self.builddeltaheader(
+ n, p1n, p2n, nullid, linknode, flags)
+ # TODO: try and actually send deltas for ellipsis data blocks
+ data = store.revision(n)
+ diffheader = mdiff.trivialdiffheader(len(data))
+ l = len(meta) + len(diffheader) + len(data)
+ yield ''.join((chunkheader(l),
+ meta,
+ diffheader,
+ data))
def builddeltaheader(self, node, p1n, p2n, basenode, linknode, flags):
# do nothing with basenode, it is implicitly the previous one in HG10
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list