X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin-rerere.c;h=8c2c8bdc18a69e4dff7386548e5f7ea78a133f7b;hb=ff06c743dcd7f451381b41aeac4288179eaec428;hp=b463c07f04b127ee3d1e17962813367fb4a5a588;hpb=95655d79ad13697e0d68e986d3b0b402efad007a;p=git.git diff --git a/builtin-rerere.c b/builtin-rerere.c index b463c07f0..8c2c8bdc1 100644 --- a/builtin-rerere.c +++ b/builtin-rerere.c @@ -117,10 +117,13 @@ static int handle_file(const char *path, else if (!prefixcmp(buf, "=======")) hunk = 2; else if (!prefixcmp(buf, ">>>>>>> ")) { + int one_is_longer = (one->nr > two->nr); + int common_len = one_is_longer ? two->nr : one->nr; + int cmp = memcmp(one->ptr, two->ptr, common_len); + hunk_no++; hunk = 0; - if (memcmp(one->ptr, two->ptr, one->nr < two->nr ? - one->nr : two->nr) > 0) { + if ((cmp > 0) || ((cmp == 0) && one_is_longer)) { struct buffer *swap = one; one = two; two = swap;