"Dana How" [off-list ref] writes:
This doesn't interact well with each variable being processed
completely independently in git_config() and the callbacks it calls.
The isset() value is "out-of-band"; either store it in the _seen
variables, or some special value in used_value .
Which makes the most sense:
* Leave _seen as-is;
* Move pack.compression recognition into config.c which means
the _seen variables would all be local to config.c;
* Use some special value, and if still present replace it with the default
at the end of git_config() using extra code;
* Change the config rule to something simpler.
I like the 2nd and the 4th. You didn't like the 4th.
Shall I change to the 2nd?
FWIW, I am Ok with (1).