[Commented On] D12600: narrow_widen_acl: enforce narrowacl in narrow_widen
baymax (Baymax, Your Personal Patch-care Companion)
phabricator at mercurial-scm.org
Thu May 26 23:40:46 UTC 2022
baymax added a comment.
baymax updated this revision to Diff 33455.
✅ refresh by Heptapod after a successful CI run (🐙 💚)
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D12600?vs=33454&id=33455
BRANCH
default
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D12600/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D12600
AFFECTED FILES
hgext/narrow/narrowwirepeer.py
tests/test-narrow-acl.t
CHANGE DETAILS
diff --git a/tests/test-narrow-acl.t b/tests/test-narrow-acl.t
--- a/tests/test-narrow-acl.t
+++ b/tests/test-narrow-acl.t
@@ -41,3 +41,39 @@
$ hg -R narrowclone1 tracked
I path:f1
I path:f2
+
+Narrow should not be able to widen to include f3
+ $ hg -R narrowclone1 tracked --addinclude f3
+ comparing with http://localhost:$HGPORT1/
+ searching for changes
+ abort: The following includes are not accessible for test: ['path:f3']
+ [255]
+ $ ls -A -1 narrowclone1 | sort
+ .hg
+ f1
+ f2
+ $ hg -R narrowclone1 tracked
+ I path:f1
+ I path:f2
+
+Narrow should allow widen to include f2
+ $ hg -R narrowclone1 tracked --removeinclude f2 > /dev/null
+ $ hg -R narrowclone1 tracked
+ I path:f1
+ $ ls -A -1 narrowclone1 | sort
+ .hg
+ f1
+ $ hg -R narrowclone1 tracked --addinclude f2
+ comparing with http://localhost:$HGPORT1/
+ searching for changes
+ adding changesets
+ adding manifests
+ adding file changes
+ added 0 changesets with 1 changes to 1 files
+ $ hg -R narrowclone1 tracked
+ I path:f1
+ I path:f2
+ $ ls -A -1 narrowclone1 | sort
+ .hg
+ f1
+ f2
diff --git a/hgext/narrow/narrowwirepeer.py b/hgext/narrow/narrowwirepeer.py
--- a/hgext/narrow/narrowwirepeer.py
+++ b/hgext/narrow/narrowwirepeer.py
@@ -9,6 +9,7 @@
from mercurial import (
bundle2,
error,
+ exchange,
extensions,
hg,
narrowspec,
@@ -85,6 +86,11 @@
newincludes = splitpaths(newincludes)
oldexcludes = splitpaths(oldexcludes)
newexcludes = splitpaths(newexcludes)
+
+ # enforce narrow acl if set
+ if repo.ui.has_section(exchange._NARROWACL_SECTION):
+ exchange.applynarrowacl(repo, {'includepats': newincludes})
+
# validate the patterns
narrowspec.validatepatterns(set(oldincludes))
narrowspec.validatepatterns(set(newincludes))
To: idlsoft, durin42, martinvonz, #hg-reviewers
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20220526/7c6fc8d8/attachment-0002.html>
More information about the Mercurial-patches
mailing list