X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=patch-id.c;h=086d2d9c68835c6a7434932f6e3b430e0906578d;hb=a3c11db9ecf5c2a1ec1b25ba809cecb3747750d4;hp=0bd640cc481eddc72e37a864b115f4d6ba7883b1;hpb=98e031f0bb6e857c684e6db24d03d22cfc1a532a;p=git.git diff --git a/patch-id.c b/patch-id.c index 0bd640cc4..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; @@ -67,7 +72,7 @@ static void generate_id_list(void) flush_current_id(patchlen, sha1, &ctx); } -static const char patch_id_usage[] = "usage: git-patch-id < patch"; +static const char patch_id_usage[] = "git-patch-id < patch"; int main(int argc, char **argv) {