Re: [PATCH 1/2] docs: add a basic description of the config API
- From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
- Date
- Feb 8, 2012, 04:01 UTC
- Message-ID
- <CACsJy8AU3ZA1=Q3vahhP6Nr=FZNKd7oRJ04mtKVs+uvNqJeVaw@mail.gmail.com>
- In-Reply-To
- <7vlioe1o1g.fsf@alter.siamese.dyndns.org>
2012/2/8 Junio C Hamano <gitster@pobox.com>:
Show 20 quoted lines
> Jeff King <peff@peff.net> writes: > >>> > +A config callback should return 0 for success, or -1 if the variable >>> > +could not be parsed properly. >>> >>> This matches what I have always thought, but I think I recently saw a >>> series that adds callbacks that return 1 to mean "I have understood this >>> variable, so callers should not look at it any more". It felt wrong, but >>> I did not find anything in the config.c API framework to prvent such a >>> local calling convention. >> >> ... >> The "1 means I understood this" convention is used by userdiff_config. I >> don't like that it is unlike every other config callback,... >> Looking at the code again, though, ... >> Hmm. Yeah. The userdiff calling convention dates back to late 2008.... >> So I think we could go back and simplify the userdiff_config code now. > > I remembered where I saw the new "offender"; it was nd/columns > topic (Cc'ing Nguyễn).
nd/columns does use "1" convention in git_column_config(), but the direct config callback function does not return 1 to config machinery. All call sites follow this pattern:
int ret = git_column_config(key, var, "command", &colopts); if (ret <= 0) return ret;
I think it's ok.
-- Duy