narrow: pass the bundle to bundle2.widen_bundle() instead of generating there
This will make the code in narrowwirepeer.py more better for further
refactoring.
Differential Revision: https://phab.mercurial-scm.org/D6438
--- a/hgext/narrow/narrowwirepeer.py Thu May 23 02:48:25 2019 +0530
+++ b/hgext/narrow/narrowwirepeer.py Thu May 23 03:03:36 2019 +0530
@@ -80,15 +80,15 @@
ellipses = bool(ellipses)
cgversion = cgversion
+ bundler = bundle2.bundle20(repo.ui)
if not ellipses:
newmatch = narrowspec.match(repo.root, include=newincludes,
exclude=newexcludes)
oldmatch = narrowspec.match(repo.root, include=oldincludes,
exclude=oldexcludes)
- bundler = bundle2.widen_bundle(repo, oldmatch, newmatch, common,
- known, cgversion, ellipses)
+ bundle2.widen_bundle(bundler, repo, oldmatch, newmatch, common,
+ known, cgversion, ellipses)
else:
- bundler = bundle2.bundle20(repo.ui)
narrowbundle2.generateellipsesbundle2(bundler, repo, oldincludes,
oldexcludes, newincludes, newexcludes, cgversion, common,
list(common), known, None)
--- a/mercurial/bundle2.py Thu May 23 02:48:25 2019 +0530
+++ b/mercurial/bundle2.py Thu May 23 03:03:36 2019 +0530
@@ -2298,10 +2298,11 @@
streamclone.applybundlev2(repo, part, filecount, bytecount,
requirements)
-def widen_bundle(repo, oldmatcher, newmatcher, common, known, cgversion,
- ellipses):
+def widen_bundle(bundler, repo, oldmatcher, newmatcher, common,
+ known, cgversion, ellipses):
"""generates bundle2 for widening a narrow clone
+ bundler is the bundle to which data should be added
repo is the localrepository instance
oldmatcher matches what the client already has
newmatcher matches what the client needs (including what it already has)
@@ -2312,7 +2313,6 @@
returns bundle2 of the data required for extending
"""
- bundler = bundle20(repo.ui)
commonnodes = set()
cl = repo.changelog
for r in repo.revs("::%ln", common):