Code

format-patch: fix parsing of "--" on the command line
authorFelipe Contreras <felipe.contreras@gmail.com>
Thu, 26 Nov 2009 19:11:59 +0000 (21:11 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 27 Nov 2009 05:16:54 +0000 (21:16 -0800)
When given a pathspec that does not match any path in the current work
tree with an explicit "--":

    git format-patch <commit> -- <path>

the command still complains that <path> does not exist in the current work
tree and the user needs to explicitly specify "--" and errors out.  This
is because it incorrectly removes "--" from the command line arguments
that is later passed to setup_revisions().

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-log.c

index 25e21ed41534c8c3067c2e0d5afe4284faa2881a..cac98afddbde735a75828c1354100308a0972e18 100644 (file)
@@ -966,7 +966,8 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
         */
        argc = parse_options(argc, argv, prefix, builtin_format_patch_options,
                             builtin_format_patch_usage,
-                            PARSE_OPT_KEEP_ARGV0 | PARSE_OPT_KEEP_UNKNOWN);
+                            PARSE_OPT_KEEP_ARGV0 | PARSE_OPT_KEEP_UNKNOWN |
+                            PARSE_OPT_KEEP_DASHDASH);
 
        if (do_signoff) {
                const char *committer;