Boolean long options can be negated by adding a "no-" at the beginning, unless the flag PARSE_OPT_NONEG is set. There are several options defined to start out with "no-" already (e.g. format-patch --no-numbered). Their negation with a second "no-" looks a bit strange. The flag PARSE_OPT_NEGHELP was introduced to avoid this awkwardness. It is used twice (in fast-export and grep) to define option pairs (--data/--no-data and --index/--no-index) whose negative part is shown in the help text. However, PARSE_OPT_NEGHELP is strange as well. Short options defined with it do the opposite of what the help text says (we currently don't have any). And the multiple negations are confusing. This series adds the ability for users to negate options that already start with "no-" by simply leaving it out. The last patch removes PARSE_OPT_NEGHELP as it isn't needed anymore at that point. test-parse-options: convert to OPT_BOOL() parse-options: allow positivation of options starting with no- parse-options: remove PARSE_OPT_NEGHELP Documentation/technical/api-parse-options.txt | 3 +- builtin/fast-export.c | 4 +- builtin/grep.c | 15 +++---- parse-options.c | 33 ++++++++------ parse-options.h | 4 -- t/t0040-parse-options.sh | 60 ++++++++++++++++++++++++- test-parse-options.c | 12 +++-- 7 files changed, 95 insertions(+), 36 deletions(-) -- 1.7.9.2 -- 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