Structure describing options about how the diff should be executed.
Setting all values of the structure to zero will yield the default values. Similarly, passing NULL for the options structure will give the defaults. The default values are marked below.
flags
is a combination of the git_diff_option_t
values abovecontext_lines
is the number of unchanged lines that define the
boundary of a hunk (and to display before and after)interhunk_lines
is the maximum number of unchanged lines between
hunk boundaries before the hunks will be merged into a one.old_prefix
is the virtual "directory" to prefix to old file names
in hunk headers (default "a")new_prefix
is the virtual "directory" to prefix to new file names
in hunk headers (default "b")pathspec
is an array of paths / fnmatch patterns to constrain diffmax_size
is a file size (in bytes) above which a blob will be marked
as binary automatically; pass a negative value to disable.notify_cb
is an optional callback function, notifying the consumer of
changes to the diff as new deltas are added.progress_cb
is an optional callback function, notifying the consumer of
which files are being examined as the diff is generated.payload
is the payload to pass to the callback functions.ignore_submodules
overrides the submodule ignore setting for all
submodules in the diff.version for the struct
defaults to GIT_DIFF_NORMAL
defaults to 3
defaults to 0
default 'core.abbrev' or 7 if unset
defaults to "a"
defaults to "b"