D4092: changegroup: inline _packellipsischangegroup

2018-08-06 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG245c58952298: changegroup: inline _packellipsischangegroup 
(authored by indygreg, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D4092?vs=9854=9968

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
@@ -1418,18 +1418,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
@@ -116,10 +116,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')
@@ -129,10 +134,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
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D4092: changegroup: inline _packellipsischangegroup

2018-08-03 Thread indygreg (Gregory Szorc)
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
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel