D6435: narrow: factor out logic to build ellipses related b2parts in separate fn
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Wed May 22 21:47:35 UTC 2019
pulkit created this revision.
Herald added a reviewer: durin42.
Herald added a reviewer: martinvonz.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
This will help us switch more cleanly to using wireprotocol commands instead of
using exchange.pull() which exchanges more things then required.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6435
AFFECTED FILES
hgext/narrow/narrowbundle2.py
CHANGE DETAILS
diff --git a/hgext/narrow/narrowbundle2.py b/hgext/narrow/narrowbundle2.py
--- a/hgext/narrow/narrowbundle2.py
+++ b/hgext/narrow/narrowbundle2.py
@@ -57,22 +57,27 @@
raise ValueError(_('no common changegroup version'))
version = max(cgversions)
- include = sorted(filter(bool, kwargs.get(r'includepats', [])))
- exclude = sorted(filter(bool, kwargs.get(r'excludepats', [])))
- newmatch = narrowspec.match(repo.root, include=include, exclude=exclude)
+ oldinclude = sorted(filter(bool, kwargs.get(r'oldincludepats', [])))
+ oldexclude = sorted(filter(bool, kwargs.get(r'oldexcludepats', [])))
+ newinclude = sorted(filter(bool, kwargs.get(r'includepats', [])))
+ newexclude = sorted(filter(bool, kwargs.get(r'excludepats', [])))
+ generateellipsesbundle2(bundler, repo, oldinclude, oldexclude, newinclude,
+ newexclude, version, common, kwargs.get('known', []),
+ kwargs.get(r'depth', None), heads)
- depth = kwargs.get(r'depth', None)
+def generateellipsesbundle2(bundler, repo, oldinclude, oldexclude, newinclude,
+ newexclude, version, common, known, depth, heads):
+ newmatch = narrowspec.match(repo.root, include=newinclude,
+ exclude=newexclude)
if depth is not None:
depth = int(depth)
if depth < 1:
raise error.Abort(_('depth must be positive, got %d') % depth)
heads = set(heads or repo.heads())
common = set(common or [nullid])
- oldinclude = sorted(filter(bool, kwargs.get(r'oldincludepats', [])))
- oldexclude = sorted(filter(bool, kwargs.get(r'oldexcludepats', [])))
- known = {bin(n) for n in kwargs.get(r'known', [])}
- if known and (oldinclude != include or oldexclude != exclude):
+ known = {bin(n) for n in known}
+ if known and (oldinclude != newinclude or oldexclude != newexclude):
# Steps:
# 1. Send kill for "$known & ::common"
#
To: pulkit, durin42, martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list