[PATCH] extensions: formalize concept of experimental extensions

Yuya Nishihara yuya at tcha.org
Mon Mar 13 22:02:06 EDT 2017


On Sun, 12 Mar 2017 19:48:35 -0700, Gregory Szorc wrote:
> > On Mar 12, 2017, at 19:28, Jun Wu <quark at fb.com> wrote:
> > 
> > If I read it correctly, this means an "experimental" extension will end up
> > with:
> > 
> >             | ext=        | ext=!beta
> >  ----------------------------------------
> >  old client | load        | do not load
> >  new client | do not load | load
> > 
> > I think that's confusing.
> > 
> > I think we can have an "[extensions:experimental]" section instead, which
> > will only be processed by new mercurial.
> 
> For extensions distributed with Mercurial, old clients won't have the extension. So the old client plus ext= scenario results in no load.

Old clients can load 3rd-party extensions from PYTHONPATH and/or hgext3rd.
If evolve get into the core as an experimental extension, I would have to
adjust my .hgrc per hg versions.

Another minor concern is that some people use "!<path>" to disable their local
extensions. "!beta" seems confusing.

How about <name>:allowbeta = True ?


More information about the Mercurial-devel mailing list