[PATCH 2 of 2] archive: add an experimental config to control the metadata file template

Yuya Nishihara yuya at tcha.org
Tue Jul 18 08:35:35 EDT 2017


On Mon, 17 Jul 2017 21:29:15 -0700, Martin von Zweigbergk wrote:
> On Mon, Jul 17, 2017 at 8:29 PM, Matt Harbison <mharbison72 at gmail.com> wrote:
> > On Mon, 17 Jul 2017 13:54:29 -0400, Martin von Zweigbergk
> > <martinvonz at google.com> wrote:
> >> On Sun, Jul 16, 2017 at 9:57 PM, Matt Harbison <mharbison72 at gmail.com>
> >> wrote:
> >>> # HG changeset patch
> >>> # User Matt Harbison <matt_harbison at yahoo.com>
> >>> # Date 1500266969 14400
> >>> #      Mon Jul 17 00:49:29 2017 -0400
> >>> # Node ID a85b7c754630cb4ac49b2cebea0ceca3d2f2eaaa
> >>> # Parent  4d37def90ad5e0196dadb9bc2c9e62effad63691
> >>> archive: add an experimental config to control the metadata file template
> >>>
> >>> Experimental because given the possible complexity, it may be worth
> >>> figuring out
> >>> how to load this from a file, similar to the style files for the log
> >>> command,
> >>> instead of trying to stuff it on the command line.
> >>>
> >>> diff --git a/mercurial/archival.py b/mercurial/archival.py
> >>> --- a/mercurial/archival.py
> >>> +++ b/mercurial/archival.py
> >>> @@ -99,7 +99,8 @@
> >>>      )
> >>>
> >>>      opts = {
> >>> -        'template': default
> >>> +        'template': repo.ui.config('experimental',
> >>> 'archivemetatemplate',
> >>> +                                   default)
> >>
> >>
> >> I think this should be registered with the new coreconfigitem() method
> >> (other experimental options are).
> >
> >
> > I actually started out that way, but given how cryptic the default value is,
> > I wasn't sure it was a good idea.
> 
> You mean because the it's nice to have the default value close to the
> code that uses it? Yeah, I've felt that too.
> 
> > I've only been skimming the configitem
> > patches, but I could see maybe adding the registered default to the help
> > text automatically.  I don't think we want to display this one for
> > simplicity.  I also didn't see anything nearly this complex.
> 
> You could perhaps use (abuse?) the "dynamicdefault" for this.

Perhaps the default should be None or '', and use the default template if
config value is empty. formatter(..., {'template': ''}) wouldn't do what
you want.


More information about the Mercurial-devel mailing list