In-memory representation of a file entry in the index.
This is a public structure that represents a file entry in the index. The meaning of the fields corresponds to core Git's documentation (in "Documentation/technical/index-format.txt").
The flags
field consists of a number of bit fields which can be
accessed via the first set of GIT_INDEX_ENTRY_...
bitmasks below.
These flags are all read from and persisted to disk.
The flags_extended
field also has a number of bit fields which can be
accessed via the later GIT_INDEX_ENTRY_...
bitmasks below. Some of
these flags are read from and written to disk, but some are set aside
for in-memory only reference.
Note that the time and size fields are truncated to 32 bits. This is enough to detect changes, which is enough for the index to function as a cache, but it should not be taken as an authoritative source for that data.