Fix a bug that allows --rfc and -k options to be specified together when executing "git format-patch". This bug was introduced back in the commit e0d7db7423a9 ("format-patch: --rfc honors what --subject-prefix sets"), about eight months ago, but it has remained undetected so far, presumably because of no associated test coverage. Add a new test to the t4014 that covers the mutual exclusivity of the --rfc and -k command-line options for "git format-patch", for future coverage. Signed-off-by: Dragan Simic <dsimic@xxxxxxxxxxx> --- builtin/log.c | 5 ++++- t/t4014-format-patch.sh | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/builtin/log.c b/builtin/log.c index c0a8bb95e983..e5a238f1cf2c 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -2050,8 +2050,11 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) if (cover_from_description_arg) cover_from_description_mode = parse_cover_from_description(cover_from_description_arg); - if (rfc) + /* Also mark the subject prefix as modified, for later checks */ + if (rfc) { strbuf_insertstr(&sprefix, 0, "RFC "); + subject_prefix = 1; + } if (reroll_count) { strbuf_addf(&sprefix, " v%s", reroll_count); diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index e37a1411ee24..e22c4ac34e6e 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -1397,6 +1397,10 @@ test_expect_success '--rfc is argument order independent' ' test_cmp expect actual ' +test_expect_success '--rfc and -k cannot be used together' ' + test_must_fail git format-patch -1 --stdout --rfc -k >patch +' + test_expect_success '--from=ident notices bogus ident' ' test_must_fail git format-patch -1 --stdout --from=foo >patch '