mirror of
https://github.com/git/git.git
synced 2024-12-03 23:14:23 +08:00
format-patch: make zero-length subject prefixes prettier
If you give a zero-length subject prefix to format-patch (e.g., "format-patch --subject-prefix="), we will print the ugly: Subject: [ 1/2] your subject here because we always insert a space between the prefix and numbering. Requiring the user to provide the space in their prefix would be more flexible, but would break existing usage. This patch provides a DWIM and suppresses the space for zero-length prefixes, under the assumption that nobody actually wants "[ 1/2]". Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
fb674d7671
commit
e7af8e49cd
@ -294,8 +294,9 @@ void log_write_email_headers(struct rev_info *opt, struct commit *commit,
|
||||
if (opt->total > 0) {
|
||||
static char buffer[64];
|
||||
snprintf(buffer, sizeof(buffer),
|
||||
"Subject: [%s %0*d/%d] ",
|
||||
"Subject: [%s%s%0*d/%d] ",
|
||||
opt->subject_prefix,
|
||||
*opt->subject_prefix ? " " : "",
|
||||
digits_in_number(opt->total),
|
||||
opt->nr, opt->total);
|
||||
subject = buffer;
|
||||
|
@ -851,4 +851,22 @@ test_expect_success 'subject lines do not have 822 atom-quoting' '
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<'EOF'
|
||||
Subject: [PREFIX 1/1] header with . in it
|
||||
EOF
|
||||
test_expect_success 'subject prefixes have space prepended' '
|
||||
git format-patch -n -1 --stdout --subject-prefix=PREFIX >patch &&
|
||||
grep ^Subject: patch >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<'EOF'
|
||||
Subject: [1/1] header with . in it
|
||||
EOF
|
||||
test_expect_success 'empty subject prefix does not have extra space' '
|
||||
git format-patch -n -1 --stdout --subject-prefix= >patch &&
|
||||
grep ^Subject: patch >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user