mercurial/templater.py
changeset 29812 01f036f0e40b
parent 29636 84ef4517de03
child 29815 0d5cc0c18b4e
--- a/mercurial/templater.py	Thu Aug 18 18:43:48 2016 +0900
+++ b/mercurial/templater.py	Wed Aug 17 13:40:27 2016 -0500
@@ -1026,6 +1026,16 @@
                 raise error.ParseError(_('unmatched quotes'),
                                        conf.source('', key))
             cache[key] = unquotestring(val)
+        elif key == "__base__":
+            # treat as a pointer to a base class for this style
+            path = util.normpath(os.path.join(base, val))
+            bcache, btmap = _readmapfile(path)
+            for k in bcache:
+                if k not in cache:
+                    cache[k] = bcache[k]
+            for k in btmap:
+                if k not in tmap:
+                    tmap[k] = btmap[k]
         else:
             val = 'default', val
             if ':' in val[1]: