git indexの中身がどうなっているのか知りたくてソースコードを読んだ。 そうそう、以前「first commitが1200行くらいで読みやすい」とオススメされたけど、openssl関係のエラーが出たのでさっさと諦めて最新のバージョンを読んでる。 で、read-cache.cの中のint write_index(struct index_state *istate, int newfd)でindexの書き込みをしている。書かれているのは #define CACHE_SIGNATURE 0x44495243 /* "DIRC" */ struct cache_header { unsigned int hdr_signature; unsigned int hdr_version; unsigned int hdr_entries; };と struct cache_entry { st