From: Junio C Hamano Date: Fri, 17 Oct 2008 23:58:23 GMT Subject: Re: [PATCH v2] parse-opt: migrate builtin-checkout-index. Message-ID: <7v63nqg4f4.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20081016132810.GG536@genesis.frugalware.org> Miklos Vajna writes: > +static int option_parse_z(const struct option *opt, > + const char *arg, int unset) > +{ > + line_termination = unset; > + return 0; > +} > ... > + { OPTION_CALLBACK, 'z', NULL, NULL, NULL, > + "paths are separated with NUL character", > + PARSE_OPT_NOARG, option_parse_z }, This adds a new feature to say --no-z from the command line, doesn't it? And I suspect the feature is broken ;-). > + OPT_BOOLEAN(0, "stdin", &read_from_stdin, > + "read list of paths from the standard input"), > ... > + argc = parse_options(argc, argv, builtin_checkout_index_options, > + builtin_checkout_index_usage, 0); > + state.force = force; > + state.quiet = quiet; > + state.not_new = not_new; > + if (argc && read_from_stdin) > + die("--stdin must be at the end"); Is this comment still correct? Do the original and your version act the same way when the user says "checkout --stdin -f", for example? I suspect the original refused it and yours take it (and do much more sensible thing), which would be an improvement, but then the error message should be reworded perhaps?