On Tue, Sep 28, 2021 at 04:42:51AM +0200, Ævar Arnfjörð Bjarmason wrote: > > 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... > > 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