D4187: changegroup: move part of _revisiondeltanarrow into group()
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Thu Aug 9 18:51:55 UTC 2018
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Now all the logic for determining which delta generation code
is called lives in a single function.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D4187
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
@@ -710,8 +710,19 @@
linknode = lookup(store.node(curr))
if self._ellipses:
- delta = self._revisiondeltanarrow(store, ischangelog,
- curr, prev, linknode)
+ linkrev = self._clnodetorev[linknode]
+ self._clrevtolocalrev[linkrev] = curr
+
+ # This is a node to send in full, because the changeset it
+ # corresponds to was a full changeset.
+ if linknode in self._fullnodes:
+ delta = _revisiondeltanormal(store, curr, prev, linknode,
+ self._deltaparentfn)
+ elif linkrev not in self._precomputedellipsis:
+ delta = None
+ else:
+ delta = self._revisiondeltanarrow(store, ischangelog,
+ curr, linkrev, linknode)
else:
delta = _revisiondeltanormal(store, curr, prev, linknode,
self._deltaparentfn)
@@ -1046,21 +1057,7 @@
self._verbosenote(_('%8.i %s\n') % (size, fname))
progress.complete()
- def _revisiondeltanarrow(self, store, ischangelog, rev, prev, linknode):
- linkrev = self._clnodetorev[linknode]
- self._clrevtolocalrev[linkrev] = rev
-
- # This is a node to send in full, because the changeset it
- # corresponds to was a full changeset.
- if linknode in self._fullnodes:
- return _revisiondeltanormal(store, rev, prev, linknode,
- self._deltaparentfn)
-
- # At this point, a node can either be one we should skip or an
- # ellipsis. If it's not an ellipsis, bail immediately.
- if linkrev not in self._precomputedellipsis:
- return
-
+ def _revisiondeltanarrow(self, store, ischangelog, rev, linkrev, linknode):
linkparents = self._precomputedellipsis[linkrev]
def local(clrev):
"""Turn a changelog revnum into a local revnum.
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list