diff tests/test-subrepo-git.t @ 34985:5e27afeddaee stable

subrepo: add config option to reject any subrepo operations (SEC) This is an alternative workaround for the issue5730. Perhaps this is the simplest way of disabling subrepo operations. It does nothing clever, but just aborts if Mercurial starts accessing to a subrepo. I think Greg's patch is more useful since it allows us to at least check out the parent repository. However, that would be confusing if the default is flipped to checkout=False and subrepos are silently ignored. I don't like the config name 'allowed', but I couldn't get any better name.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 05 Nov 2017 21:22:07 +0900
parents 071cbeba4212
children 828cf35f1de6
line wrap: on
line diff
--- a/tests/test-subrepo-git.t	Fri Nov 03 20:12:50 2017 +0900
+++ b/tests/test-subrepo-git.t	Sun Nov 05 21:22:07 2017 +0900
@@ -86,9 +86,29 @@
   path s
    source   ../gitroot
    revision 126f2a14290cd5ce061fdedc430170e8d39e1c5a
+  $ cd ..
+
+clone with subrepo disabled (update should fail)
+
+  $ hg clone t -U tc2 --config subrepos.allowed=false
+  $ hg update -R tc2 --config subrepos.allowed=false
+  abort: subrepo not allowed
+  (see 'hg help config.subrepos' for details)
+  [255]
+  $ ls tc2
+  a
+
+  $ hg clone t tc3 --config subrepos.allowed=false
+  updating to branch default
+  abort: subrepo not allowed
+  (see 'hg help config.subrepos' for details)
+  [255]
+  $ ls tc3
+  a
 
 update to previous substate
 
+  $ cd tc
   $ hg update 1 -q
   $ cat s/g
   g