author | Junio C Hamano <gitster@pobox.com> | |
Thu, 21 Aug 2008 06:41:47 +0000 (23:41 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 21 Aug 2008 06:41:47 +0000 (23:41 -0700) |
* jc/index-extended-flags:
index: future proof for "extended" index entries
index: future proof for "extended" index entries
cache.h | patch | blob | history | |
read-cache.c | patch | blob | history |
index 68ce6e686fb83265a0f151944182b0ba10647626..928ae9f148dae6361b6300aea9e76f22e0c23e60 100644 (file)
--- a/cache.h
+++ b/cache.h
#define CE_NAMEMASK (0x0fff)
#define CE_STAGEMASK (0x3000)
+#define CE_EXTENDED (0x4000)
#define CE_VALID (0x8000)
#define CE_STAGESHIFT 12
diff --git a/read-cache.c b/read-cache.c
index 2c03ec3069decb20f7557af4ac7dbe295f2dcf9c..f0ba2247980cc938cc3f821a18e3b328966c4e06 100644 (file)
--- a/read-cache.c
+++ b/read-cache.c
@@ -1118,6 +1118,10 @@ static void convert_from_disk(struct ondisk_cache_entry *ondisk, struct cache_en
ce->ce_size = ntohl(ondisk->size);
/* On-disk flags are just 16 bits */
ce->ce_flags = ntohs(ondisk->flags);
+
+ /* For future extension: we do not understand this entry yet */
+ if (ce->ce_flags & CE_EXTENDED)
+ die("Unknown index entry format");
hashcpy(ce->sha1, ondisk->sha1);
len = ce->ce_flags & CE_NAMEMASK;