--- a/hgext/narrow/narrowwirepeer.py Tue Jun 04 17:24:35 2019 +0800
+++ b/hgext/narrow/narrowwirepeer.py Wed May 22 02:59:48 2019 +0530
@@ -13,12 +13,15 @@
extensions,
hg,
narrowspec,
+ node as nodemod,
pycompat,
wireprototypes,
wireprotov1peer,
wireprotov1server,
)
+from . import narrowbundle2
+
def uisetup():
wireprotov1peer.wirepeer.narrow_widen = peernarrowwiden
@@ -69,21 +72,26 @@
narrowspec.validatepatterns(set(newexcludes))
common = wireprototypes.decodelist(commonheads)
- known = None
- if known:
- known = wireprototypes.decodelist(known)
+ known = wireprototypes.decodelist(known)
+ known = {nodemod.bin(n) for n in known}
if ellipses == '0':
ellipses = False
else:
ellipses = bool(ellipses)
cgversion = cgversion
- 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)
+ 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)
+ else:
+ bundler = bundle2.bundle20(repo.ui)
+ narrowbundle2.generateellipsesbundle2(bundler, repo, oldincludes,
+ oldexcludes, newincludes, newexcludes, cgversion, common,
+ list(common), known, None)
except error.Abort as exc:
bundler = bundle2.bundle20(repo.ui)
manargs = [('message', pycompat.bytestr(exc))]