X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=patch-id.c;h=9349bc5580456b378d41da7cc2518e4fa9a7e81a;hb=08fbb136f7440eac96f4e4396316aff36526f299;hp=5a8dc75d0e0184f8a4afa53e22b44d20f060685f;hpb=80bd6f3064a6009cd18a4dab9ce6d29681cec4af;p=git.git diff --git a/patch-id.c b/patch-id.c index 5a8dc75d0..9349bc558 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; @@ -76,4 +81,4 @@ int main(int argc, char **argv) generate_id_list(); return 0; -} +}