This revision was automatically updated to reflect the committed changes. Closed by commit rHG8a37c9b6cf0a: narrow: send specs as bundle2 data instead of param (issue5952) (issue6019) (authored by pulkit, committed by ).
REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D6218?vs=14711&id=14765 REVISION DETAIL https://phab.mercurial-scm.org/D6218 AFFECTED FILES hgext/narrow/narrowbundle2.py mercurial/exchange.py CHANGE DETAILS diff --git a/mercurial/exchange.py b/mercurial/exchange.py --- a/mercurial/exchange.py +++ b/mercurial/exchange.py @@ -2214,12 +2214,14 @@ if (kwargs.get(r'narrow', False) and kwargs.get(r'narrow_acl', False) and (include or exclude)): narrowspecpart = bundler.newpart('narrow:spec') + data = '' if include: - narrowspecpart.addparam( - 'include', '\n'.join(include), mandatory=True) + data += '\n'.join(include) + data += '\0' if exclude: - narrowspecpart.addparam( - 'exclude', '\n'.join(exclude), mandatory=True) + data += '\n'.join(exclude) + + narrowspecpart.data = data @getbundle2partsgenerator('bookmarks') def _getbundlebookmarkpart(bundler, repo, source, bundlecaps=None, diff --git a/hgext/narrow/narrowbundle2.py b/hgext/narrow/narrowbundle2.py --- a/hgext/narrow/narrowbundle2.py +++ b/hgext/narrow/narrowbundle2.py @@ -144,6 +144,15 @@ def _handlechangespec_2(op, inpart): includepats = set(inpart.params.get(_SPECPART_INCLUDE, '').splitlines()) excludepats = set(inpart.params.get(_SPECPART_EXCLUDE, '').splitlines()) + data = inpart.read() + # old servers don't send includes and excludes using bundle2 data, they use + # bundle2 parameters instead. + if data: + inc, exc = data.split('\0') + if inc: + includepats |= set(inc.splitlines()) + if exc: + excludepats |= set(exc.splitlines()) narrowspec.validatepatterns(includepats) narrowspec.validatepatterns(excludepats) To: pulkit, durin42, martinvonz, #hg-reviewers Cc: idlsoft, mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel