1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-09 21:56:07 +02:00

format-patch: ensure that --rfc and -k are mutually exclusive

Fix a bug that allows the "--rfc" and "-k" options to be specified together
when "git format-patch" is executed, which was introduced in the commit
e0d7db7423 ("format-patch: --rfc honors what --subject-prefix sets").

Add a couple of additional tests to t4014, to cover additional cases of
the mutual exclusivity between different "git format-patch" options.

Signed-off-by: Dragan Simic <dsimic@manjaro.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Dragan Simic 2024-04-19 03:05:30 +02:00 committed by Junio C Hamano
parent e0d7db7423
commit cadcf58085
2 changed files with 24 additions and 1 deletions

View File

@ -2044,8 +2044,10 @@ 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)
if (rfc) {
strbuf_insertstr(&sprefix, 0, "RFC ");
subject_prefix = 1;
}
if (reroll_count) {
strbuf_addf(&sprefix, " v%s", reroll_count);

View File

@ -1397,6 +1397,27 @@ test_expect_success '--rfc is argument order independent' '
test_cmp expect actual
'
test_expect_success '--subject-prefix="<non-empty>" and -k cannot be used together' '
echo "fatal: options '\''--subject-prefix/--rfc'\'' and '\''-k'\'' cannot be used together" >expect.err &&
test_must_fail git format-patch -1 --stdout --subject-prefix="MYPREFIX" -k >actual.out 2>actual.err &&
test_must_be_empty actual.out &&
test_cmp expect.err actual.err
'
test_expect_success '--subject-prefix="" and -k cannot be used together' '
echo "fatal: options '\''--subject-prefix/--rfc'\'' and '\''-k'\'' cannot be used together" >expect.err &&
test_must_fail git format-patch -1 --stdout --subject-prefix="" -k >actual.out 2>actual.err &&
test_must_be_empty actual.out &&
test_cmp expect.err actual.err
'
test_expect_success '--rfc and -k cannot be used together' '
echo "fatal: options '\''--subject-prefix/--rfc'\'' and '\''-k'\'' cannot be used together" >expect.err &&
test_must_fail git format-patch -1 --stdout --rfc -k >actual.out 2>actual.err &&
test_must_be_empty actual.out &&
test_cmp expect.err actual.err
'
test_expect_success '--from=ident notices bogus ident' '
test_must_fail git format-patch -1 --stdout --from=foo >patch
'