Code

Merge branch 'jc/index-extended-flags'
authorJunio C Hamano <gitster@pobox.com>
Thu, 21 Aug 2008 06:41:47 +0000 (23:41 -0700)
committerJunio 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

cache.h
read-cache.c

diff --git a/cache.h b/cache.h
index 68ce6e686fb83265a0f151944182b0ba10647626..928ae9f148dae6361b6300aea9e76f22e0c23e60 100644 (file)
--- 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
 
index 2c03ec3069decb20f7557af4ac7dbe295f2dcf9c..f0ba2247980cc938cc3f821a18e3b328966c4e06 100644 (file)
@@ -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;