Yuya Nishihara <yuya@tcha.org> [Sun, 10 Apr 2016 17:23:09 +0900] rev 28955
templater: factor out function that creates templater from string template
This function will host loading of template aliases. It is not defined at
templater, but at formatter, since formatter is the module handling ui stuff
in front of templater.
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 23:26:48 +0900] rev 28954
templater: separate function to create templater from map file (API)
New frommapfile() function will make it clear when template aliases will be
loaded. They should be applied to command arguments and templates in hgrc,
but not to map files. Otherwise, our stock styles and web templates
(i.e map-file templates) could be modified unintentionally.
Future patches will add "aliases" argument to __init__(), but not to
frommapfile().
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 23:18:30 +0900] rev 28953
templater: extract function that loads template map file
Prepares for API change. See the next patch for details.
'map' variable is renamed to avoid shadowing map() function.
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 23:22:43 +0900] rev 28952
templater: demote "base" directory of map file to local variable
It isn't referenced from other places.
Yuya Nishihara <yuya@tcha.org> [Mon, 04 Apr 2016 22:50:50 +0900] rev 28951
notify: do not load style file if template is specified (BC)
This patch makes sure that either "tmpl" or "mapfile" is exclusively set,
which is the same behavior as common log-like templates and formatter outputs.
See the previous patch for why.
Yuya Nishihara <yuya@tcha.org> [Mon, 04 Apr 2016 22:48:34 +0900] rev 28950
bugzilla: do not load style file if template is specified (BC)
This prepares for the API change to support template aliases. I'm going to
extract a factory function of templater that reads a map file:
# original
templater(mapfile, ..., cache, ...)
# new
templater.frommapfile(mapfile, ...) # read mapfile to build cache/map
templater(..., cache, ...) # use specified cache (= map elements)
This will make it clear to isolate stock styles (i.e. map files) from user
aliases. Template aliases should be applied to command arguments and templates
in hgrc, but not to map files. Otherwise, our stock styles and web templates
could be modified unintentionally.
This patch makes sure that either "tmpl" or "mapfile" is exclusively set. It's
theoretically a behavior change, since you could put new keywords in template
by defining them in a map file before:
# mapfile
foo = "{rev}"
# hgrc
[bugzilla]
style = mapfile
template = {foo}
But the old behavior would be a bug because bugzilla.template is documented
as "overrides style if specified". Also, common log-like templates and
formatter doesn't allow using mapfile-keywords in a separate template. So
I decided to make a BC.
Since there was no test for the bugzilla extension, this adds new test that
covers style/template output.