diff --git a/patch-id.c b/patch-id.c
index 0bd640cc481eddc72e37a864b115f4d6ba7883b1..3b4c80f764bd11a740a7cce60f2e8c062706e897 100644 (file)
--- a/patch-id.c
+++ b/patch-id.c
-#include <ctype.h>
#include "cache.h"
static void flush_current_id(int patchlen, unsigned char *id, SHA_CTX *c)
#include "cache.h"
static void flush_current_id(int patchlen, unsigned char *id, SHA_CTX *c)
if (!memcmp(line, "diff-tree ", 10))
p += 10;
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);
if (!get_sha1_hex(p, n)) {
flush_current_id(patchlen, sha1, &ctx);
if (!patchlen && memcmp(line, "diff ", 5))
continue;
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;
/* Ignore line numbers when computing the SHA1 of the patch */
if (!memcmp(line, "@@ -", 4))
continue;
flush_current_id(patchlen, sha1, &ctx);
}
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)
{
int main(int argc, char **argv)
{