On Wed, Mar 16, 2016 at 02:53:17PM -0700, Stefan Beller wrote: > On Wed, Mar 16, 2016 at 2:44 PM, Jeff King <peff@xxxxxxxx> wrote: > > On Wed, Mar 16, 2016 at 05:37:03PM -0400, Eric Sunshine wrote: > > > >> A much easier solution would be to update OPT_VERBOSE() to understand > >> that negative values are "unspecified", and then --verbose would > >> (pseudocode): > >> > >> if (value < 0) > >> value = 0 > >> value++; > >> > >> and --no-verbose would: > >> > >> value = 0 > >> > >> That should be compatible with existing clients of OPT__VERBOSE() > >> which initialize the value to 0, and should satisfy Pranit's case; he > >> can initialize it to -1, and if it is still -1 when option parsing is > >> done, then he knows that neither --verbose nor --no-verbose was seen. > > > > Yes, that makes much more sense to me. Thanks for the back-story. > > Is there any command which needs more than one --no-verbose? > (as an abuse to stacking --quiet multiple times)? I'm not sure I understand. "--no-verbose" is just about resetting the value. So you might get it multiple times in: git commit -v --no-verbose -v --no-verbose but the caller would not care. Which makes me think I'm misunderstanding your question. You also mention "--quiet", but that is not handled by OPT__VERBOSE, but rather by OPT__QUIET. And there I do not think the "-1 is undefined" trick works as well there, because presumably "-1" is the same as one "--quiet". -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html