-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Teach mailinfo to ignore everything before -- >8 -- mark
This teaches mailinfo the scissors -- >8 -- mark; the command ignores everything before it in the message body. For lefties among us, we also support -- 8< -- ;-) Signed-off-by: Junio C Hamano <gitster@pobox.com>
- Loading branch information
Junio C Hamano
committed
Aug 27, 2009
1 parent
606417b
commit 200c75f
Showing
6 changed files
with
233 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
Author: Junio C Hamano | ||
Email: gitster@pobox.com | ||
Subject: Teach mailinfo to ignore everything before -- >8 -- mark | ||
Date: Thu, 20 Aug 2009 17:18:22 -0700 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
This teaches mailinfo the scissors -- >8 -- mark; the command ignores | ||
everything before it in the message body. | ||
|
||
Signed-off-by: Junio C Hamano <gitster@pobox.com> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
--- | ||
builtin-mailinfo.c | 37 ++++++++++++++++++++++++++++++++++++- | ||
1 files changed, 36 insertions(+), 1 deletions(-) | ||
|
||
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c | ||
index b0b5d8f..461c47e 100644 | ||
--- a/builtin-mailinfo.c | ||
+++ b/builtin-mailinfo.c | ||
@@ -712,6 +712,34 @@ static inline int patchbreak(const struct strbuf *line) | ||
return 0; | ||
} | ||
|
||
+static int scissors(const struct strbuf *line) | ||
+{ | ||
+ size_t i, len = line->len; | ||
+ int scissors_dashes_seen = 0; | ||
+ const char *buf = line->buf; | ||
+ | ||
+ for (i = 0; i < len; i++) { | ||
+ if (isspace(buf[i])) | ||
+ continue; | ||
+ if (buf[i] == '-') { | ||
+ scissors_dashes_seen |= 02; | ||
+ continue; | ||
+ } | ||
+ if (i + 1 < len && !memcmp(buf + i, ">8", 2)) { | ||
+ scissors_dashes_seen |= 01; | ||
+ i++; | ||
+ continue; | ||
+ } | ||
+ if (i + 7 < len && !memcmp(buf + i, "cut here", 8)) { | ||
+ i += 7; | ||
+ continue; | ||
+ } | ||
+ /* everything else --- not scissors */ | ||
+ break; | ||
+ } | ||
+ return scissors_dashes_seen == 03; | ||
+} | ||
+ | ||
static int handle_commit_msg(struct strbuf *line) | ||
{ | ||
static int still_looking = 1; | ||
@@ -723,10 +751,17 @@ static int handle_commit_msg(struct strbuf *line) | ||
strbuf_ltrim(line); | ||
if (!line->len) | ||
return 0; | ||
- if ((still_looking = check_header(line, s_hdr_data, 0)) != 0) | ||
+ still_looking = check_header(line, s_hdr_data, 0); | ||
+ if (still_looking) | ||
return 0; | ||
} | ||
|
||
+ if (scissors(line)) { | ||
+ fseek(cmitmsg, 0L, SEEK_SET); | ||
+ still_looking = 1; | ||
+ return 0; | ||
+ } | ||
+ | ||
/* normalize the log message to UTF-8. */ | ||
if (metainfo_charset) | ||
convert_to_utf8(line, charset.buf); | ||
-- | ||
1.6.4.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters