A combination of the git_diff_flag_t types
The git_oid of the item. If the entry represents an absent side of a diff (e.g. the old_file of a GIT_DELTA_ADDED delta), then the oid will be zeroes.
Represents the known length of the id field, when converted to a hex string. It is generally GIT_OID_SHA1_HEXSIZE, unless this delta was created from reading a patch file, in which case it may be abbreviated to something reasonable, like 7 characters.
Roughly, the stat() st_mode value for the item. This will be restricted to one of the git_filemode_t values.
The null-terminated path to the entry relative to the working directory of the repository.
The size of the entry in bytes.
Description of one side of a delta.
Although this is called a "file", it could represent a file, a symbolic link, a submodule commit id, or even a tree (although that only if you are tracking type changes or ignored/untracked directories).