Flags to control status callbacks
Calling git_status_foreach()
is like calling the extended version
with: GIT_STATUS_OPT_INCLUDE_IGNORED, GIT_STATUS_OPT_INCLUDE_UNTRACKED,
and GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS. Those options are bundled
together as GIT_STATUS_OPT_DEFAULTS
if you want them as a baseline.
Says that callbacks should be made on untracked files. These will only be made if the workdir files are included in the status "show" option.
Says that ignored files get callbacks. Again, these callbacks will only be made if the workdir files are included in the status "show" option.
Indicates that callback should be made even on unmodified files.
Indicates that submodules should be skipped. This only applies if there are no pending typechanges to the submodule (either from or to another type).
Indicates that all files in untracked directories should be included. Normally if an entire directory is new, then just the top-level directory is included (with a trailing slash on the entry name). This flag says to include all of the individual files in the directory instead.
Indicates that the given path should be treated as a literal path, and not as a pathspec pattern.
Indicates that the contents of ignored directories should be included in the status. This is like doing git ls-files -o -i --exclude-standard
with core git.
Indicates that rename detection should be processed between the head and the index and enables the GIT_STATUS_INDEX_RENAMED as a possible status flag.
Indicates that rename detection should be run between the index and the working directory and enabled GIT_STATUS_WT_RENAMED as a possible status flag.
Overrides the native case sensitivity for the file system and forces the output to be in case-sensitive order.
Overrides the native case sensitivity for the file system and forces the output to be in case-insensitive order.
Iindicates that rename detection should include rewritten files.
Bypasses the default status behavior of doing a "soft" index reload (i.e. reloading the index data if the file on disk has been modified outside libgit2).
Tells libgit2 to refresh the stat cache in the index for files that are unchanged but have out of date stat einformation in the index. It will result in less work being done on subsequent calls to get status. This is mutually exclusive with the NO_REFRESH option.
Normally files that cannot be opened or read are ignored as these are often transient files; this option will return unreadable files as GIT_STATUS_WT_UNREADABLE
.
Unreadable files will be detected and given the status untracked instead of unreadable.