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

Martin von Zweigbergk martinvonz at google.com
Tue Jul 18 00:29:15 EDT 2017


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.

>
> Alternately, we could move this string out to a template file, and the
> default is the filename (but I wonder if there will be platform differences
> when listing it).  Or we could set the default to None, and document that
> the default is the legacy content.  But I guess that undermines having the
> defaults in one place, and isn't much different than this.
>
> Thoughts?

I'd just leave it as is for now.


More information about the Mercurial-devel mailing list