Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
This commit is contained in:
commit
1b593e1ea4
3629 changed files with 1139935 additions and 0 deletions
64
t/t5100/patch0014
Normal file
64
t/t5100/patch0014
Normal file
|
|
@ -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
|
||||
Loading…
Add table
Add a link
Reference in a new issue