* Using really empty start prefixes for git-format-patch numbered patches? @ 2011-05-28 21:57 Frédéric Delanoy 2011-05-30 13:04 ` Frédéric Delanoy 2011-05-30 14:19 ` Jeff King 0 siblings, 2 replies; 5+ messages in thread From: Frédéric Delanoy @ 2011-05-28 21:57 UTC (permalink / raw) To: git Hi, I'm trying to generate numbered patches using git-format-patch such that I get e.g. [1/2] instead of [PATCH 1/2] However, if I use an empty string as prefix, for instance in git-format-patch --subject-prefix="" -2 an extraneous space is inserted, and I get [ 1/2] instead of desired [1/2] in the Subject line (I also tried using a single backspace char as prefix, but that didn't change anything, as might have been expected) Is there a way to get rid of this space? IMO the space should only be added if the prefix is non-empty Frédéric Delanoy ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Using really empty start prefixes for git-format-patch numbered patches? 2011-05-28 21:57 Using really empty start prefixes for git-format-patch numbered patches? Frédéric Delanoy @ 2011-05-30 13:04 ` Frédéric Delanoy 2011-05-30 14:19 ` Jeff King 1 sibling, 0 replies; 5+ messages in thread From: Frédéric Delanoy @ 2011-05-30 13:04 UTC (permalink / raw) To: git Is this a bug or a feature? 2011/5/28 Frédéric Delanoy <frederic.delanoy@gmail.com>: > Hi, > > I'm trying to generate numbered patches using git-format-patch such > that I get e.g. [1/2] instead of [PATCH 1/2] > > However, if I use an empty string as prefix, for instance in > > git-format-patch --subject-prefix="" -2 > > an extraneous space is inserted, and I get [ 1/2] instead of desired > [1/2] in the Subject line > > (I also tried using a single backspace char as prefix, but that didn't > change anything, as might have been expected) > > Is there a way to get rid of this space? IMO the space should only be > added if the prefix is non-empty > > Frédéric Delanoy > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Using really empty start prefixes for git-format-patch numbered patches? 2011-05-28 21:57 Using really empty start prefixes for git-format-patch numbered patches? Frédéric Delanoy 2011-05-30 13:04 ` Frédéric Delanoy @ 2011-05-30 14:19 ` Jeff King 2011-05-30 19:19 ` Junio C Hamano 1 sibling, 1 reply; 5+ messages in thread From: Jeff King @ 2011-05-30 14:19 UTC (permalink / raw) To: Frédéric Delanoy; +Cc: Junio C Hamano, git On Sat, May 28, 2011 at 11:57:01PM +0200, Frédéric Delanoy wrote: > I'm trying to generate numbered patches using git-format-patch such > that I get e.g. [1/2] instead of [PATCH 1/2] > > However, if I use an empty string as prefix, for instance in > > git-format-patch --subject-prefix="" -2 > > an extraneous space is inserted, and I get [ 1/2] instead of desired > [1/2] in the Subject line > > (I also tried using a single backspace char as prefix, but that didn't > change anything, as might have been expected) > > Is there a way to get rid of this space? IMO the space should only be > added if the prefix is non-empty I don't think there is currently a way to do what you want short of post-processing the output of format-patch. You can use "-k" to preserve the subject, but then you don't get the "1/2" that you want. So I think we should do this: -- >8 -- Subject: [PATCH] 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> --- log-tree.c | 3 ++- t/t4014-format-patch.sh | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletions(-) diff --git a/log-tree.c b/log-tree.c index 2a1e3a9..296f417 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 045cee3..92248d2 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 -- 1.7.5.3.12.g99e25 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: Using really empty start prefixes for git-format-patch numbered patches? 2011-05-30 14:19 ` Jeff King @ 2011-05-30 19:19 ` Junio C Hamano 2011-05-30 20:23 ` Jeff King 0 siblings, 1 reply; 5+ messages in thread From: Junio C Hamano @ 2011-05-30 19:19 UTC (permalink / raw) To: Jeff King; +Cc: Frédéric Delanoy, git Jeff King <peff@peff.net> writes: > I don't think there is currently a way to do what you want short of > post-processing the output of format-patch. You can use "-k" to preserve > the subject, but then you don't get the "1/2" that you want. You would unconditionally get "[" and "]" that you may or may not want and there is no way to change it to "(1/2)" or "1 of 2: "; unless we shoot for a completely flexible solution, we need to draw a line somewhere. It was not optimal in the hindsight to draw the line where the prefix is customizable, while always assuming that people would want some prefix, perhaps. > So I think we should do this: Yes, ... > ... under the assumption that nobody > actually wants "[ 1/2]". which I think is a reasonable thing to do. Will queue; thanks. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Using really empty start prefixes for git-format-patch numbered patches? 2011-05-30 19:19 ` Junio C Hamano @ 2011-05-30 20:23 ` Jeff King 0 siblings, 0 replies; 5+ messages in thread From: Jeff King @ 2011-05-30 20:23 UTC (permalink / raw) To: Junio C Hamano; +Cc: Frédéric Delanoy, git On Mon, May 30, 2011 at 12:19:22PM -0700, Junio C Hamano wrote: > Jeff King <peff@peff.net> writes: > > > I don't think there is currently a way to do what you want short of > > post-processing the output of format-patch. You can use "-k" to preserve > > the subject, but then you don't get the "1/2" that you want. > > You would unconditionally get "[" and "]" that you may or may not want and > there is no way to change it to "(1/2)" or "1 of 2: "; unless we shoot for > a completely flexible solution, we need to draw a line somewhere. Hmm, yeah, I guess we could go farther pretty simply with: git format-patch --subject='[PATCH %n/%m] %s' but I admit I don't really care enough to work on it. :) > Will queue; thanks. Thanks. -Peff ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-05-30 20:23 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-05-28 21:57 Using really empty start prefixes for git-format-patch numbered patches? Frédéric Delanoy 2011-05-30 13:04 ` Frédéric Delanoy 2011-05-30 14:19 ` Jeff King 2011-05-30 19:19 ` Junio C Hamano 2011-05-30 20:23 ` Jeff King
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).