[PATCH 2 of 5] extdata: add revset support for extdata

Matt Mackall mpm at selenic.com
Sat Sep 24 18:43:05 EDT 2016


On Sat, 2016-09-24 at 00:22 +0200, Pierre-Yves David wrote:
> 
> On 09/23/2016 07:34 PM, Matt Mackall wrote:
> > 
> > On Fri, 2016-09-23 at 19:49 +0900, FUJIWARA Katsunori wrote:
> > > 
> > > At Thu, 22 Sep 2016 13:21:36 -0500,
> > > Matt Mackall wrote:
> > > > 
> > > > 
> > > > 
> > > > # HG changeset patch
> > > > # User Matt Mackall <mpm at selenic.com>
> > > > # Date 1474293900 18000
> > > > #      Mon Sep 19 09:05:00 2016 -0500
> > > > # Node ID 9c8847df32a0c5045e60aded2e03a9c97507f909
> > > > # Parent  19bf2776dfe39befdc479253e1e7d030b41c08f9
> > > > extdata: add revset support for extdata
> > > > 
> > > > This inserts extdata into the revset function support. Planned
> > > > extensions of extdata support arguments, so this is the most
> > > > appropriate place for it.
> > > > 
> > > > Unfortunately, the registrar framework is not a good fit here. First,
> > > > setting an appropriate load point is still an unsolved problem (we
> > > > want the code to live in revset.py, but that module may never be
> > > > loaded).
> > > > Second, registered methods become global and the data sources are likely
> > > > to
> > > > be
> > > > repo-specific. This won't work well in a context like hgwebdir.
> > > Is there any reason not to define extdata() revset predicate (or
> > > template function), which requires external data source name like as
> > > extdata('filedata') ? (for convenience ?)
> > It's mostly convenience. But I also plan to add support for arguments.
> I think I really like foozy idea about using a generic 'extdata("key")' 
> predicate. That will probably be okay for many case and prevent 
> unexpected collision with other revsets. If needed, the user can easily 
> define a revset alias for the sources in needs easy access to. As 
> configuration of the source is needed anyway, this does seems like a 
> bearable burden.
> 
> If I remember correctly, it does not seems to have limitation in the 
> current implementation of revset that would prevent use to do 
> 'extdata("key", arg1, arg2)'

You get to implement this version, because I think it's an awful idea.

-- 
Mathematics is the supreme nostalgia of our time.



More information about the Mercurial-devel mailing list