diff --git a/builtin-log.c b/builtin-log.c index 33fa6ea6c..176634955 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -976,7 +976,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; diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index 7f267f9ed..3bc1cccf8 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -552,4 +552,9 @@ test_expect_success 'format-patch --numstat should produce a patch' ' git format-patch --numstat --stdout master..side > output && test 6 = $(grep "^diff --git a/" output | wc -l)' +test_expect_success 'format-patch -- ' ' + git format-patch master..side -- file 2>error && + ! grep "Use .--" error +' + test_done