From: Neil Roberts <bpeeluk@yahoo.co.uk>
To: git@vger.kernel.org
Subject: Re: [PATCH] builtin-mailinfo.c: Improve the regexp for cleaning up the subject
Date: Tue, 22 Sep 2009 13:56:47 +0100 [thread overview]
Message-ID: <87pr9juohc.fsf_-_@janet.wally> (raw)
In-Reply-To: <87hbuv5km2.fsf@janet.wally> (Neil Roberts's message of "Tue, 22 Sep 2009 11:39:33 +0100")
Previously the regular expression would remove the first set of square
brackets regardless of what came before it. If a patch with a summary
such as 'Added a[0] to a line' was passed through git-format-patch
with the -k option then the summary would be cropped to 'to a line'
when applied with git-am.
The new regular expression also matches any number of 're:' prefixes
which apparently can be generated by some old mail clients.
The old regexp required that there be at least one set of square
brackets before it would remove the 're:' and this is now fixed.
---
builtin-mailinfo.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
This patch is meant to apply on top of the two previous patches by
Roger Leigh which are available here:
http://marc.info/?l=git&m=124839483217718&w=2
http://marc.info/?l=git&m=124839483317722&w=2
It fixes some small problems as described above.
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
index 7098c90..f5799f1 100644
--- a/builtin-mailinfo.c
+++ b/builtin-mailinfo.c
@@ -227,7 +227,7 @@ static void cleanup_subject(struct strbuf *subject)
/* Strip off 'Re:' and/or the first text in square brackets, such as
'[PATCH]' at the start of the mail Subject. */
status = regcomp(®ex,
- "^([Rr]e:)?([^]]*\\[[^]]+\\])(.*)$",
+ "^([Rr]e:[ \t]*)*(\\[[^]]+\\][ \t]*)?",
REG_EXTENDED);
if (status) {
@@ -248,10 +248,9 @@ static void cleanup_subject(struct strbuf *subject)
/* Store any matches in match. */
status = regexec(®ex, subject->buf, 4, match, 0);
- /* If there was a match for \3 in the regex, trim the subject
- to this match. */
- if (!status && match[3].rm_so > 0) {
- strbuf_remove(subject, 0, match[3].rm_so);
+ /* If there was a match, remove it */
+ if (!status && match[0].rm_so >= 0) {
+ strbuf_remove(subject, 0, match[0].rm_eo);
strbuf_trim(subject);
}
--
1.6.0.4
next prev parent reply other threads:[~2009-09-22 12:56 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-28 19:38 git mailinfo strips important context from patch subjects Roger Leigh
2009-06-28 20:02 ` Jeff King
2009-06-28 23:04 ` Junio C Hamano
2009-06-29 9:53 ` Andreas Ericsson
2009-06-29 9:55 ` [PATCH] mailinfo: Remove only one set of square brackets Andreas Ericsson
2009-06-29 16:09 ` Junio C Hamano
2009-06-30 5:33 ` Jeff King
2009-06-29 21:17 ` [PATCH] builtin-mailinfo.c: Trim only first pair of square brackets in subject Roger Leigh
2009-06-29 21:26 ` Jakub Narebski
2009-06-29 21:49 ` Roger Leigh
2009-09-22 10:39 ` Neil Roberts
2009-09-22 12:56 ` Neil Roberts [this message]
2009-09-22 16:15 ` Junio C Hamano
2009-09-22 16:51 ` Neil Roberts
2009-09-23 0:26 ` Jason Holden
2009-06-29 21:34 ` [PATCH 2/2] builtin-mailinfo.c: Free regular expression after use Roger Leigh
2009-06-29 21:36 ` git mailinfo strips important context from patch subjects Roger Leigh
2009-06-28 20:07 ` [PATCH] " Paolo Bonzini
2009-06-29 9:19 ` Andreas Ericsson
2009-06-29 10:21 ` Paolo Bonzini
2009-06-29 10:54 ` Andreas Ericsson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pr9juohc.fsf_-_@janet.wally \
--to=bpeeluk@yahoo.co.uk \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).