Subject: Re: [PATCH v4] config: add conditional include

From: Matthieu Moy <[email-masked]>
Date: Mon, 22 Aug 2016 14:59:22 +0200

Duy Nguyen <[email-masked]> writes:

> On Sun, Aug 21, 2016 at 4:08 AM, Jakub Narębski <[email-masked]> wrote:
>> W dniu 19.08.2016 o 15:54, Jeff King pisze:
>>> On Sat, Aug 13, 2016 at 03:40:59PM +0700, Duy Nguyen wrote:
>>>
>>>> Ping..
>>>
>>> There was some discussion after v4. I think the open issues are:
>>>
>>>   - the commit message is rather terse (it should describe motivation,
>>>     and can refer to the docs for the "how")
>>>
>>>   - the syntax might be more clear as:
>>>
>>>        [include-if "gitdir:..."]
>>>
>>>     or
>>>
>>>        [include "gitdir-is:..."]
>>
>> Or
>>
>>          [include "if-gitdir:..."]
>
> I like this one. I can re-roll to address the first two bullet point,
> if the last one, the open question, will not become a blocker later
> on.

I think the syntax should be design to allow arbitrary boolean
expression later if needed. Then, I prefer one of

  [include-if "gitdir-is:..."]
  [include    "gitdir-is:..."]

because it may later be extended to e.g.

  [include-if "not(gitdir-is:...)"]
  [include-if "gitdir-matches:regex"]
  [include-if "gitdir-is:... and git-version-greater:2.9"]
  ...

I actually already use "conditional include on version number" because I
use push.default=upstream which makes older versions of Git crash, but
fortunately these versions of Git also ignore the "include" directive so
having this push.default=upstream in an included file works. It's a
hack, it worked once but it won't work again.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/