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 should
get callbacks. Again, these callbacks will only be made if
the workdir files are included in the status "show" option.
Right now, there is no option to include all files in
directories that are ignored completely.
GIT_STATUS_OPT_INCLUDE_UNMODIFIED indicates that callback
should be made even on unmodified files.
GIT_STATUS_OPT_EXCLUDE_SUBMODULES indicates that directories
which appear to be submodules should just be skipped over.
GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS indicates that the
contents of untracked directories should be included in the
status. Normally if an entire directory is new, then just
the top-level directory will be included (with a trailing
slash on the entry name). Given this flag, the directory
itself will not be included, but all the files in it will.