Reading the exchange about new options to e.g. git gc and git pack-objects over the last few days, a pattern seemed to emerge. A new option would be proposed, but then we didn't always want to type it, so a corresponding config variable would be added as well.
I notice git supports "alias.*" config variables.
Would it be useful to also support "options.*" variables?
When you type
git gc <args>
this is interpreted as
git gc $(git config options.gc) <args>
so anything in options.gc could be overridden
by later appearing on the command line.
The names might have dashes:
pack-objects would use options.pack-objects .If a command is recognized using alias.*, options.* would not be consulted (to keep things simple). In other words, options.* only work for built-ins. options.* would interpret quoting etc in its value the same way alias.* does.
Thus, you can add a new --option to a program, and get a corresponding config variable automatically, and without cluttering up the documentation.
I've not yet looked at the git driver code. Is there any interest in this feature?
Thanks,
-- Dana L. How danahow@gmail.com +1 650 804 5991 cell