summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-04-14 14:57:44 -0700
committerJunio C Hamano <gitster@pobox.com>2016-04-14 14:57:44 -0700
commite7bf114b3651560114103d101b364de675f4180e (patch)
tree76314e0e033075b77ffe8341ef2239ce27f70e92
parent890fca84be9d2419939f64872648ebe79e68a0b2 (diff)
downloadgit-jc/rerere-recursive.tar.gz
rerere: try ignoring extra cruft left by merge-recursivejc/rerere-recursive
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--rerere.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/rerere.c b/rerere.c
index 16938662dd..02cbc24c12 100644
--- a/rerere.c
+++ b/rerere.c
@@ -359,6 +359,18 @@ static int rerere_file_getline(struct strbuf *sb, struct rerere_io *io_)
return strbuf_getwholeline(sb, io->input, '\n');
}
+static int is_temporary_branch_mark(char *buf)
+{
+ const char *name;
+
+ if (!skip_prefix(buf, " Temporary merge branch ", &name))
+ return 0;
+ if (*name != '1' && *name != '2')
+ return 0;
+ name++;
+ return (!*name || (*name == '\n'));
+}
+
/*
* Require the exact number of conflict marker letters, no more, no
* less, followed by SP or any whitespace
@@ -381,7 +393,7 @@ static int is_cmarker(char *buf, int marker_char, int marker_size)
while (marker_size--)
if (*buf++ != marker_char)
return 0;
- if (want_sp && *buf != ' ')
+ if (want_sp && (*buf != ' ' || is_temporary_branch_mark(buf)))
return 0;
return isspace(*buf);
}