diff --git a/mercurial/templater.py b/mercurial/templater.py index 8ec3062b7047ceb02c5136afda624e2596c0b7f6_bWVyY3VyaWFsL3RlbXBsYXRlci5weQ==..4ccd5ec565c2baaa1d598b20a7ea14d3c4fd39dc_bWVyY3VyaWFsL3RlbXBsYXRlci5weQ== 100644 --- a/mercurial/templater.py +++ b/mercurial/templater.py @@ -823,6 +823,6 @@ ) base = os.path.dirname(mapfile) - conf = config.config(includepaths=[templatedir()]) + conf = config.config() def include(rel, abs, remap, sections): @@ -827,7 +827,14 @@ def include(rel, abs, remap, sections): - data = util.posixfile(abs, b'rb').read() - conf.parse(abs, data, sections=sections, remap=remap, include=include) + templatedirs = [base, templatedir()] + for dir in templatedirs: + abs = os.path.normpath(os.path.join(dir, rel)) + if os.path.isfile(abs): + data = util.posixfile(abs, b'rb').read() + conf.parse( + abs, data, sections=sections, remap=remap, include=include + ) + break data = util.posixfile(mapfile, b'rb').read() conf.parse(mapfile, data, remap={b'': b'templates'}, include=include)