summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-08-20 23:41:47 -0700
committerJunio C Hamano <gitster@pobox.com>2008-08-20 23:41:47 -0700
commit0a8eb7bae5101a3c1f550d67f1d4c0879dd417da (patch)
tree0a2b1ec0264ec70d80b0ee9f84042e64f49855db
parent0569d7566e07f482ba8e7fa9dc629d987435513a (diff)
parent16ce2e4c8f9664f8ec5ae2bffed34d093d83a4d3 (diff)
downloadgit-0a8eb7bae5101a3c1f550d67f1d4c0879dd417da.tar.gz
Merge branch 'jc/index-extended-flags'
* jc/index-extended-flags: index: future proof for "extended" index entries
-rw-r--r--cache.h1
-rw-r--r--read-cache.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index 68ce6e686f..928ae9f148 100644
--- a/cache.h
+++ b/cache.h
@@ -126,6 +126,7 @@ struct cache_entry {
#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 2c03ec3069..f0ba224798 100644
--- 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;