Here's a reroll. Changes explained in the comments following each patch. Thanks to Stephen for a great deal of helpful advice. The result turns out to be less surgery than I thought from the version in pu, mostly because I am trying to be conservative (meaning further simplifications are welcome as patches on top, natch). Based against ca20906, as before. Jonathan Nieder (4): parse-options: sanity check PARSE_OPT_NOARG flag parse-options: allow git commands to invent new option types parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION update-index: migrate to parse-options API Nguyán ThÃi Ngác Duy (1): setup: save prefix (original cwd relative to toplevel) in startup_info Stephen Boyd (1): parse-options: eliminate implicit PARSE_OPT_NOARG for built-in option types builtin/update-index.c | 391 ++++++++++++++++++++++++++++++------------------ cache.h | 1 + parse-options.c | 47 ++++--- parse-options.h | 9 +- setup.c | 4 +- 5 files changed, 283 insertions(+), 169 deletions(-) -- 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