Re: [PATCH] config: add an includeIf.env{Exists,Bool,Is,Match}
- From
Jeff King <peff@peff.net>
- Date
- Sep 28, 2021, 05:42 UTC
- Message-ID
- <YVKrRooSIN7OeLy9@coredump.intra.peff.net>
- In-Reply-To
- <878rzhz9yw.fsf@evledraar.gmail.com>
On Tue, Sep 28, 2021 at 04:42:51AM +0200, Ævar Arnfjörð Bjarmason wrote:
Show 9 quoted lines
> > A perhaps more subtle but less awkward to type version is to just > > require two arguments, like: > > > > git --config <key> <value> ... > > I suppose --config would work like that, you can'd to it with "-c". I > think it's more confusing to have a "-c" and "--config" which unlike > most other things don't follow the obvious long and short option names > working the same way.
Yeah, probably "--config-pair" or something might be less confusing. Anyway...
Show 12 quoted lines
> > but I'd just as soon continue to leave it un-implemented if nobody has
> > actually needed it in practice.
>
> *nod*. I do think it's bad design to introduce an "env" inclusion
> feature that relies on "=" though while we don't have something like
> that, i.e.
>
> I think we should probably not add that --config-{key,value}, but
> avoiding the arbitrary limitation of not being able to specify certain
> config keys seems prudent in that case, and since the "=" v.s. ":" is
> only an aesthetic preference I think being able to compose things
> without limitations wins out.I don't really agree with that. Whatever syntax we use now, we'll be stuck with forever. It seems a shame to predicate that choice only on the "-c doesn't support =" thing that nobody has actually run across in practice (and I don't think is something people will run into with this).
> We do have the "=" key limitation now, but I don't think it's there for > any key we currently define, except things like "url.<base>.insteadOf" > if the "<base> has a "=" in it (and maybe just that one).
It's really a potential problem for any 3-level config key. So urls, branch names, remote names, various tool names, filter/diff drivers, existing includeIf conditions. This might be the first one where we really _encourage_ the use of "=" signs, but it still strikes me as weird that you'd want to do so on the command-line in practice.
-Peff