X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=patch-id.c;h=086d2d9c68835c6a7434932f6e3b430e0906578d;hb=d01fb92f8d27cf8f0a843f4e9c0f8f022856b34d;hp=5a8dc75d0e0184f8a4afa53e22b44d20f060685f;hpb=d59a6043a8a7aed97c684fb4f14fe5221df1fcaf;p=git.git diff --git a/patch-id.c b/patch-id.c index 5a8dc75d0..086d2d9c6 100644 --- a/patch-id.c +++ b/patch-id.c @@ -1,4 +1,3 @@ -#include #include "cache.h" static void flush_current_id(int patchlen, unsigned char *id, SHA_CTX *c) @@ -43,10 +42,12 @@ static void generate_id_list(void) if (!memcmp(line, "diff-tree ", 10)) p += 10; + else if (!memcmp(line, "commit ", 7)) + p += 7; if (!get_sha1_hex(p, n)) { flush_current_id(patchlen, sha1, &ctx); - memcpy(sha1, n, 20); + hashcpy(sha1, n); patchlen = 0; continue; } @@ -55,6 +56,10 @@ static void generate_id_list(void) if (!patchlen && memcmp(line, "diff ", 5)) continue; + /* Ignore git-diff index header */ + if (!memcmp(line, "index ", 6)) + continue; + /* Ignore line numbers when computing the SHA1 of the patch */ if (!memcmp(line, "@@ -", 4)) continue;