[PATCH 4 of 5] extdata: add basic template support

Matt Mackall mpm at selenic.com
Sat Sep 24 18:37:21 EDT 2016


On Sat, 2016-09-24 at 00:23 +0200, Pierre-Yves David wrote:
> 
> On 09/22/2016 08:21 PM, Matt Mackall wrote:
> > 
> > # HG changeset patch
> > # User Matt Mackall <mpm at selenic.com>
> > # Date 1474294560 18000
> > #      Mon Sep 19 09:16:00 2016 -0500
> > # Node ID 6db1b2e7d19ed317404c1275db46780d40ececb8
> > # Parent  133b35066bef5d9c31d13c4f0b2e4a50d1ceae87
> > extdata: add basic template support
> > 
> > This lets us expose the per-entry "freeform data".
> I guess the same feedback apply here. Maybe we should go for a single 
> generic template name (with argument) and let user create alias if they 
> really needs to. What do you think?
> 
> > 
> > Again, the registrar framework isn't a good fit
> I think the registrar framework is mostly intended for extensions. Where 
> the module is loaded for sure and adding new template/revset requires to 
> access with the internal data structure.
> 
> > 
> > diff -r 133b35066bef -r 6db1b2e7d19e mercurial/templater.py
> > --- a/mercurial/templater.py	Mon Sep 19 09:13:11 2016 -0500
> > +++ b/mercurial/templater.py	Mon Sep 19 09:16:00 2016 -0500
> > @@ -19,6 +19,7 @@
> >      parser,
> >      registrar,
> >      revset as revsetmod,
> > +    scmutil,
> >      templatefilters,
> >      templatekw,
> >      util,
> > @@ -352,6 +353,13 @@
> >          try:
> >              v = context.process(key, safemapping)
> >          except TemplateNotFound:
> > +            # check for extdata last
> > +            if 'ctx' in mapping:
> > +                ctx = mapping['ctx']
> Could we use 'get' here:
> 
>     ctx = mapping.get('ctx')
>     if ctx is not None:

I can't imagine why that would be preferable.

-- 
Mathematics is the supreme nostalgia of our time.



More information about the Mercurial-devel mailing list