This will be used as signature to know if the index has changed. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- cache.h | 1 + read-cache.c | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cache.h b/cache.h index 7a836b1..f14d535 100644 --- a/cache.h +++ b/cache.h @@ -279,6 +279,7 @@ struct index_state { initialized : 1; struct hash_table name_hash; struct hash_table dir_hash; + unsigned char sha1[20]; }; extern struct index_state the_index; diff --git a/read-cache.c b/read-cache.c index 33dd676..3b6daf1 100644 --- a/read-cache.c +++ b/read-cache.c @@ -1269,10 +1269,11 @@ struct ondisk_cache_entry_extended { ondisk_cache_entry_extended_size(ce_namelen(ce)) : \ ondisk_cache_entry_size(ce_namelen(ce))) -static int verify_hdr(struct cache_header *hdr, unsigned long size) +static int verify_hdr(struct cache_header *hdr, + unsigned long size, + unsigned char *sha1) { git_SHA_CTX c; - unsigned char sha1[20]; int hdr_version; if (hdr->hdr_signature != htonl(CACHE_SIGNATURE)) @@ -1461,7 +1462,7 @@ int read_index_from(struct index_state *istate, const char *path) close(fd); hdr = mmap; - if (verify_hdr(hdr, mmap_size) < 0) + if (verify_hdr(hdr, mmap_size, istate->sha1) < 0) goto unmap; istate->version = ntohl(hdr->hdr_version); -- 1.8.5.2.240.g8478abd -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html