From: Junio C Hamano Date: Wed, 21 Jan 2009 08:37:38 +0000 (-0800) Subject: Simplify parsing branch switching events in reflog X-Git-Tag: v1.6.2-rc0~70^2~1 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=d7c03c1ff98be1d22dd18b70669ffc6fb76b39b3;p=git-core%2Fgit.git Simplify parsing branch switching events in reflog We only accept "checkout: moving from A to B" newer style reflog entries, in order to pick up A. There is no point computing where B begins at after running strstr to locate " to ", nor adding 4 and then subtracting 4 from the same pointer. Signed-off-by: Junio C Hamano --- diff --git a/sha1_name.c b/sha1_name.c index 38c9f1b19..7d95bbb27 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -723,17 +723,13 @@ static int grab_nth_branch_switch(unsigned char *osha1, unsigned char *nsha1, if (!prefixcmp(message, "checkout: moving from ")) { match = message + strlen("checkout: moving from "); - if ((target = strstr(match, " to ")) != NULL) - target += 4; + target = strstr(match, " to "); } if (!match || !target) return 0; - len = target - match - 4; - if (target[len] == '\n' && !strncmp(match, target, len)) - return 0; - + len = target - match; nth = cb->cnt++ % cb->alloc; strbuf_reset(&cb->buf[nth]); strbuf_add(&cb->buf[nth], match, len);