# HG changeset patch # User Yuya Nishihara # Date 1492860585 -32400 # Node ID a3a36bcf122e2ea4edbbe4ac44da59446cf0ee07 # Parent 388e1242ed9e2ffea86a07989f0937b1fb186ca4 commit: select template by spec.ref name And load all templates defined in [committemplate] since the selected template is no longer be named as 'changeset'. diff -r 388e1242ed9e -r a3a36bcf122e mercurial/cmdutil.py --- a/mercurial/cmdutil.py Sat Apr 22 15:28:29 2017 +0900 +++ b/mercurial/cmdutil.py Sat Apr 22 20:29:45 2017 +0900 @@ -2915,11 +2915,10 @@ forms.insert(0, 'changeset') templatetext = None while forms: - tmpl = repo.ui.config('committemplate', '.'.join(forms)) - if tmpl: - tmpl = templater.unquotestring(tmpl) + ref = '.'.join(forms) + if repo.ui.config('committemplate', ref): templatetext = committext = buildcommittemplate( - repo, ctx, subs, extramsg, tmpl) + repo, ctx, subs, extramsg, ref) break forms.pop() else: @@ -2957,14 +2956,12 @@ return text -def buildcommittemplate(repo, ctx, subs, extramsg, tmpl): +def buildcommittemplate(repo, ctx, subs, extramsg, ref): ui = repo.ui - spec = logtemplatespec(tmpl, None) + spec = formatter.templatespec(ref, None, None) t = changeset_templater(ui, repo, spec, None, {}, False) - - for k, v in repo.ui.configitems('committemplate'): - if k != 'changeset': - t.t.cache[k] = v + t.t.cache.update((k, templater.unquotestring(v)) + for k, v in repo.ui.configitems('committemplate')) if not extramsg: extramsg = '' # ensure that extramsg is string