diff --git a/hgext/narrow/narrowbundle2.py b/hgext/narrow/narrowbundle2.py --- a/hgext/narrow/narrowbundle2.py +++ b/hgext/narrow/narrowbundle2.py @@ -270,6 +270,7 @@ repo = args[1] if repo.ui.has_section(_NARROWACL_SECTION): kwargs = exchange.applynarrowacl(repo, kwargs) + kwargs['narrow_acl'] = True if (kwargs.get(r'narrow', False) and repo.ui.configbool('experimental', 'narrowservebrokenellipses')): diff --git a/mercurial/exchange.py b/mercurial/exchange.py --- a/mercurial/exchange.py +++ b/mercurial/exchange.py @@ -2164,7 +2164,8 @@ if 'treemanifest' in repo.requirements: part.addparam('treemanifest', '1') - if kwargs.get(r'narrow', False) and (include or exclude): + if (kwargs.get(r'narrow', False) and kwargs.get('narrow_acl', False) + and (include or exclude)): narrowspecpart = bundler.newpart('narrow:spec') if include: narrowspecpart.addparam( diff --git a/tests/test-narrow-rebase.t b/tests/test-narrow-rebase.t --- a/tests/test-narrow-rebase.t +++ b/tests/test-narrow-rebase.t @@ -86,7 +86,6 @@ $ hg update -q 'desc("conflicting outside/f1")' $ hg phase -f -d . - no phases changed $ hg rebase -d 'desc("modify outside/f1")' rebasing 4:707c035aadb6 "conflicting outside/f1" abort: conflict in file 'outside/f1' is outside narrow clone diff --git a/tests/test-narrow-widen-no-ellipsis.t b/tests/test-narrow-widen-no-ellipsis.t --- a/tests/test-narrow-widen-no-ellipsis.t +++ b/tests/test-narrow-widen-no-ellipsis.t @@ -137,7 +137,6 @@ adding file changes added 5 changesets with 4 changes to 2 files new changesets *:* (glob) - 3 local changesets published (run 'hg update' to get a working copy) $ hg update -r 'desc("add wider")' 1 files updated, 0 files merged, 0 files removed, 0 files unresolved