Flags to control status callbacks
- GIT_STATUS_OPT_INCLUDE_UNTRACKED 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.
- GIT_STATUS_OPT_INCLUDE_IGNORED says that ignored files get callbacks.
Again, these callbacks will only be made if the workdir files are
included in the status "show" option.
- GIT_STATUS_OPT_INCLUDE_UNMODIFIED indicates that callback should be
made even on unmodified files.
- GIT_STATUS_OPT_EXCLUDE_SUBMODULES indicates that submodules should be
skipped. This only applies if there are no pending typechanges to
the submodule (either from or to another type).
- GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS 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.
- GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH indicates that the given path
should be treated as a literal path, and not as a pathspec pattern.
- GIT_STATUS_OPT_RECURSE_IGNORED_DIRS 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.
- GIT_STATUS_OPT_RENAMES_HEAD_TO_INDEX 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.
- GIT_STATUS_OPT_RENAMES_INDEX_TO_WORKDIR 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.
- GIT_STATUS_OPT_SORT_CASE_SENSITIVELY overrides the native case
sensitivity for the file system and forces the output to be in
case-sensitive order
- GIT_STATUS_OPT_SORT_CASE_INSENSITIVELY overrides the native case
sensitivity for the file system and forces the output to be in
case-insensitive order
- GIT_STATUS_OPT_RENAMES_FROM_REWRITES indicates that rename detection
should include rewritten files
- GIT_STATUS_OPT_NO_REFRESH 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).
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.
GIT_STATUS_OPT_INCLUDE_UNTRACKED
0
GIT_STATUS_OPT_INCLUDE_IGNORED
1
GIT_STATUS_OPT_INCLUDE_UNMODIFIED
2
GIT_STATUS_OPT_EXCLUDE_SUBMODULES
3
GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS
4
GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH
5
GIT_STATUS_OPT_RECURSE_IGNORED_DIRS
6
GIT_STATUS_OPT_RENAMES_HEAD_TO_INDEX
7
GIT_STATUS_OPT_RENAMES_INDEX_TO_WORKDIR
8
GIT_STATUS_OPT_SORT_CASE_SENSITIVELY
9
GIT_STATUS_OPT_SORT_CASE_INSENSITIVELY
10
GIT_STATUS_OPT_RENAMES_FROM_REWRITES
11
GIT_STATUS_OPT_NO_REFRESH
12