Gotta keep pumping until everything is out! This is the last part to finish converting diff.c to use parse_options(). The two commands 'range-diff' and 'diff --no-index' are also updated to do parse_options() directly, which is the end game (i.e. the end of diff_opt_parse(), but that can't happen until revision.c is converted). The next step could be collect complaints about how noisy 'git range-diff -h' and 'git diff --no-index -h' is and start trimming unused options. revision.c conversion will happen in parallel. Nguyễn Thái Ngọc Duy (20): diff-parseopt: convert --ws-error-highlight diff-parseopt: convert --ita-[in]visible-in-index diff-parseopt: convert -z diff-parseopt: convert -l diff-parseopt: convert -S|-G diff-parseopt: convert --pickaxe-all|--pickaxe-regex diff-parseopt: convert -O diff-parseopt: convert --find-object diff-parseopt: convert --diff-filter diff-parseopt: convert --[no-]abbrev diff-parseopt: convert --[src|dst]-prefix diff-parseopt: convert --line-prefix diff-parseopt: convert --no-prefix diff-parseopt: convert --inter-hunk-context diff-parseopt: convert --[no-]color-moved diff-parseopt: convert --color-moved-ws diff.c: allow --no-color-moved-ws range-diff: use parse_options() instead of diff_opt_parse() diff --no-index: use parse_options() instead of diff_opt_parse() am: avoid diff_opt_parse() builtin/am.c | 4 +- builtin/diff.c | 21 +-- builtin/range-diff.c | 26 +-- diff-no-index.c | 49 +++--- diff.c | 337 +++++++++++++++++++-------------------- diff.h | 5 +- parse-options-cb.c | 4 +- parse-options.h | 6 +- t/t4053-diff-no-index.sh | 3 +- 9 files changed, 219 insertions(+), 236 deletions(-) -- 2.21.0.548.gd3c7d92dc2