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.
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.