diff options
author | Jeff King <peff@peff.net> | 2011-05-30 10:19:05 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-05-30 11:18:59 -0700 |
commit | e7af8e49cd54f1784fa2a0e382f22ca2f98cf4d8 (patch) | |
tree | f2d0e8c81aefc447e6f8853fd660ca6e9e069d5f | |
parent | fb674d767180354d9ad3e69f1d41bee98df6bfe9 (diff) | |
download | git-e7af8e49cd54f1784fa2a0e382f22ca2f98cf4d8.tar.gz |
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>
-rw-r--r-- | log-tree.c | 3 | ||||
-rwxr-xr-x | t/t4014-format-patch.sh | 18 |
2 files changed, 20 insertions, 1 deletions
diff --git a/log-tree.c b/log-tree.c index 2a1e3a94c9..296f417dfc 100644 --- a/log-tree.c +++ b/log-tree.c @@ -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; diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index 045cee312c..92248d24c4 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -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 |