Struct git2::DiffOptions [] [src]

pub struct DiffOptions {
    // some fields omitted
}

Structure describing options about how the diff should be executed.

Methods

impl DiffOptions
[src]

fn new() -> DiffOptions

Creates a new set of empty diff options.

All flags and other options are defaulted to false or their otherwise zero equivalents.

fn reverse(&mut self, reverse: bool) -> &mut DiffOptions

Flag indicating whether the sides of the diff will be reversed.

fn include_ignored(&mut self, include: bool) -> &mut DiffOptions

Flag indicating whether ignored files are included.

fn recurse_ignored_dirs(&mut self, recurse: bool) -> &mut DiffOptions

Flag indicating whether ignored directories are traversed deeply or not.

fn include_untracked(&mut self, include: bool) -> &mut DiffOptions

Flag indicating whether untracked files are in the diff

fn recurse_untracked_dirs(&mut self, recurse: bool) -> &mut DiffOptions

Flag indicating whether untracked directories are deeply traversed or not.

fn include_unmodified(&mut self, include: bool) -> &mut DiffOptions

Flag indicating whether unmodified files are in the diff.

fn include_typechange(&mut self, include: bool) -> &mut DiffOptions

If entrabled, then Typechange delta records are generated.

fn include_typechange_trees(&mut self, include: bool) -> &mut DiffOptions

Event with include_typechange, the tree treturned generally shows a deleted blow. This flag correctly labels the tree transitions as a typechange record with the new_file's mode set to tree.

Note that the tree SHA will not be available.

fn ignore_filemode(&mut self, ignore: bool) -> &mut DiffOptions

Flag indicating whether file mode changes are ignored.

fn ignore_submodules(&mut self, ignore: bool) -> &mut DiffOptions

Flag indicating whether all submodules should be treated as unmodified.

fn ignore_case(&mut self, ignore: bool) -> &mut DiffOptions

Flag indicating whether case insensitive filenames should be used.

fn disable_pathspec_match(&mut self, disable: bool) -> &mut DiffOptions

If pathspecs are specified, this flag means that they should be applied as an exact match instead of a fnmatch pattern.

fn skip_binary_check(&mut self, skip: bool) -> &mut DiffOptions

Disable updating the binary flag in delta records. This is useful when iterating over a diff if you don't need hunk and data callbacks and want to avoid having to load a file completely.

fn enable_fast_untracked_dirs(&mut self, enable: bool) -> &mut DiffOptions

When diff finds an untracked directory, to match the behavior of core Git, it scans the contents for ignored and untracked files. If all contents are ignored, then the directory is ignored; if any contents are not ignored, then the directory is untracked. This is extra work that may not matter in many cases.

This flag turns off that scan and immediately labels an untracked directory as untracked (changing the behavior to not match core git).

fn update_index(&mut self, update: bool) -> &mut DiffOptions

When diff finds a file in the working directory with stat information different from the index, but the OID ends up being the same, write the correct stat information into the index. Note: without this flag, diff will always leave the index untouched.

fn include_unreadable(&mut self, include: bool) -> &mut DiffOptions

Include unreadable files in the diff

fn include_unreadable_as_untracked(&mut self, include: bool) -> &mut DiffOptions

Include unreadable files in the diff

fn force_text(&mut self, force: bool) -> &mut DiffOptions

Treat all files as text, disabling binary attributes and detection.

fn force_binary(&mut self, force: bool) -> &mut DiffOptions

Treat all files as binary, disabling text diffs

fn ignore_whitespace(&mut self, ignore: bool) -> &mut DiffOptions

Ignore all whitespace

fn ignore_whitespace_change(&mut self, ignore: bool) -> &mut DiffOptions

Ignore changes in the amount of whitespace

fn ignore_whitespace_eol(&mut self, ignore: bool) -> &mut DiffOptions

Ignore whitespace at tend of line

fn show_untracked_content(&mut self, show: bool) -> &mut DiffOptions

When generating patch text, include the content of untracked files.

This automatically turns on include_untracked but it does not turn on recurse_untracked_dirs. Add that flag if you want the content of every single untracked file.

fn show_unmodified(&mut self, show: bool) -> &mut DiffOptions

When generating output, include the names of unmodified files if they are included in the Diff. Normally these are skipped in the formats that list files (e.g. name-only, name-status, raw). Even with this these will not be included in the patch format.

fn patience(&mut self, patience: bool) -> &mut DiffOptions

Use the "patience diff" algorithm

fn minimal(&mut self, minimal: bool) -> &mut DiffOptions

Take extra time to find the minimal diff

fn show_binary(&mut self, show: bool) -> &mut DiffOptions

Include the necessary deflate/delta information so that git-apply can apply given diff information to binary files.

fn context_lines(&mut self, lines: u32) -> &mut DiffOptions

Set the number of unchanged lines that define the boundary of a hunk (and to display before and after).

The default value for this is 3.

fn interhunk_lines(&mut self, lines: u32) -> &mut DiffOptions

Set the maximum number of unchanged lines between hunk boundaries before the hunks will be merged into one.

The default value for this is 0.

fn id_abbrev(&mut self, abbrev: u16) -> &mut DiffOptions

The default value for this is core.abbrev or 7 if unset.

fn max_size(&mut self, size: i64) -> &mut DiffOptions

Maximum size (in bytes) above which a blob will be marked as binary automatically.

A negative value will disable this entirely.

The default value for this is 512MB.

fn old_prefix<T: IntoCString>(&mut self, t: T) -> &mut DiffOptions

The virtual "directory" to prefix old file names with in hunk headers.

The default value for this is "a".

fn new_prefix<T: IntoCString>(&mut self, t: T) -> &mut DiffOptions

The virtual "directory" to prefix new file names with in hunk headers.

The default value for this is "b".

fn pathspec<T: IntoCString>(&mut self, pathspec: T) -> &mut DiffOptions

Add to the array of paths/fnmatch patterns to constrain the diff.

unsafe fn raw(&mut self) -> *const git_diff_options

Acquire a pointer to the underlying raw options.

This function is unsafe as the pointer is only valid so long as this structure is not moved, modified, or used elsewhere.