[PATCH 6 of 6] commit: select template by spec.ref name
Yuya Nishihara
yuya at tcha.org
Fri Jun 16 12:37:12 EDT 2017
# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1492860585 -32400
# Sat Apr 22 20:29:45 2017 +0900
# Node ID 3fc4ab598d4acbcc0e6aaab16cba21f38f4f2881
# Parent 5982ed0541c6b63bc3928ff3f5ce7c55b401a520
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 --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -2915,11 +2915,10 @@ def commitforceeditor(repo, ctx, subs, f
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 @@ def commitforceeditor(repo, ctx, subs, f
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
More information about the Mercurial-devel
mailing list