D4092: changegroup: inline _packellipsischangegroup
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Fri Aug 3 21:05:32 UTC 2018
indygreg created this revision.
Herald added a reviewer: durin42.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
It now does nothing special. The logic is simple enough to inline
in the 2 callers in narrow that need it.
The changegroup generation APIs could probably be a bit simpler.
But that's for another time.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D4092
AFFECTED FILES
hgext/narrow/narrowbundle2.py
mercurial/changegroup.py
CHANGE DETAILS
diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py
--- a/mercurial/changegroup.py
+++ b/mercurial/changegroup.py
@@ -1421,18 +1421,3 @@
(f, hex(n)))
return revisions, files
-
-def _packellipsischangegroup(repo, common, match, relevant_nodes,
- ellipsisroots, visitnodes, depth, source, version):
- # We wrap cg1packer.revchunk, using a side channel to pass
- # relevant_nodes into that area. Then if linknode isn't in the
- # set, we know we have an ellipsis node and we should defer
- # sending that node's data. We override close() to detect
- # pending ellipsis nodes and flush them.
- packer = getbundler(version, repo, filematcher=match,
- ellipses=True,
- shallow=depth is not None,
- ellipsisroots=ellipsisroots,
- fullnodes=relevant_nodes)
-
- return packer.generate(common, visitnodes, False, source)
diff --git a/hgext/narrow/narrowbundle2.py b/hgext/narrow/narrowbundle2.py
--- a/hgext/narrow/narrowbundle2.py
+++ b/hgext/narrow/narrowbundle2.py
@@ -115,10 +115,15 @@
newvisit, newfull, newellipsis = exchange._computeellipsis(
repo, set(), common, known, newmatch)
if newvisit:
- cg = changegroup._packellipsischangegroup(
- repo, common, newmatch, newfull, newellipsis,
- newvisit, depth, source, version)
- part = bundler.newpart('changegroup', data=cg)
+ packer = changegroup.getbundler(version, repo,
+ filematcher=newmatch,
+ ellipses=True,
+ shallow=depth is not None,
+ ellipsisroots=newellipsis,
+ fullnodes=newfull)
+ cgdata = packer.generate(common, newvisit, False, source)
+
+ part = bundler.newpart('changegroup', data=cgdata)
part.addparam('version', version)
if 'treemanifest' in repo.requirements:
part.addparam('treemanifest', '1')
@@ -128,10 +133,15 @@
repo.ui.debug('Found %d relevant revs\n' % len(relevant_nodes))
if visitnodes:
- cg = changegroup._packellipsischangegroup(
- repo, common, newmatch, relevant_nodes, ellipsisroots,
- visitnodes, depth, source, version)
- part = bundler.newpart('changegroup', data=cg)
+ packer = changegroup.getbundler(version, repo,
+ filematcher=newmatch,
+ ellipses=True,
+ shallow=depth is not None,
+ ellipsisroots=ellipsisroots,
+ fullnodes=relevant_nodes)
+ cgdata = packer.generate(common, visitnodes, False, source)
+
+ part = bundler.newpart('changegroup', data=cgdata)
part.addparam('version', version)
if 'treemanifest' in repo.requirements:
part.addparam('treemanifest', '1')
To: indygreg, durin42, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list