7615056b82e6 — Vincent Hatakeyama 3 years ago
Do not set rootpath when using prefix_with_layout
2 files changed, 9 insertions(+), 1 deletions(-)

M hgext3rd/confman/configuration.py
M hgext3rd/confman/utils.py
M hgext3rd/confman/configuration.py +7 -1
@@ 217,7 217,13 @@ class configurationmanager(object):
 
         # if managed is a sub configuration, we add the rootpath
         # to its hgrc which allows to work from the managed confman
-        if conf.get('expand') is not None:
+        # This is not done in the case of the use of prefix_with_layout,
+        # so that cfensure in the reused repository works.
+        # If there is white or black listing done, this would not work
+        if (
+            conf.get('expand') is not None and
+            conf.get('layout_prefix') is None
+        ):
             frompath = os.path.join(dest, '.hg')
             key = 'hgrc.confman.rootpath'
             if key in conf:

          
M hgext3rd/confman/utils.py +2 -0
@@ 325,6 325,8 @@ class oconfig(object):
                 value = m.group(2)
                 if item == "layout" and layout_prefix:
                     value = os.path.join(layout_prefix, value)
+                    # source is not set as it is in parent .hgconf file
+                    self.set(section, "layout_prefix", layout_prefix)
                 self.set(section, item, value, "%s:%d" % (src, line))
                 continue
             m = unsetre.match(l)