[][src]Struct git2::DiffOptions

pub struct DiffOptions { /* fields omitted */ }

Structure describing options about how the diff should be executed.

Implementations

impl DiffOptions[src]

pub fn new() -> DiffOptions[src]

Creates a new set of empty diff options.

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

pub fn reverse(&mut self, reverse: bool) -> &mut DiffOptions[src]

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

pub fn include_ignored(&mut self, include: bool) -> &mut DiffOptions[src]

Flag indicating whether ignored files are included.

pub fn recurse_ignored_dirs(&mut self, recurse: bool) -> &mut DiffOptions[src]

Flag indicating whether ignored directories are traversed deeply or not.

pub fn include_untracked(&mut self, include: bool) -> &mut DiffOptions[src]

Flag indicating whether untracked files are in the diff

pub fn recurse_untracked_dirs(&mut self, recurse: bool) -> &mut DiffOptions[src]

Flag indicating whether untracked directories are traversed deeply or not.

pub fn include_unmodified(&mut self, include: bool) -> &mut DiffOptions[src]

Flag indicating whether unmodified files are in the diff.

pub fn include_typechange(&mut self, include: bool) -> &mut DiffOptions[src]

If enabled, then Typechange delta records are generated.

pub fn include_typechange_trees(&mut self, include: bool) -> &mut DiffOptions[src]

Event with include_typechange, the tree returned generally shows a deleted blob. 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.

pub fn ignore_filemode(&mut self, ignore: bool) -> &mut DiffOptions[src]

Flag indicating whether file mode changes are ignored.

pub fn ignore_submodules(&mut self, ignore: bool) -> &mut DiffOptions[src]

Flag indicating whether all submodules should be treated as unmodified.

pub fn ignore_case(&mut self, ignore: bool) -> &mut DiffOptions[src]

Flag indicating whether case insensitive filenames should be used.

pub fn disable_pathspec_match(&mut self, disable: bool) -> &mut DiffOptions[src]

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

pub fn skip_binary_check(&mut self, skip: bool) -> &mut DiffOptions[src]

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.

pub fn enable_fast_untracked_dirs(&mut self, enable: bool) -> &mut DiffOptions[src]

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).

pub fn update_index(&mut self, update: bool) -> &mut DiffOptions[src]

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.

pub fn include_unreadable(&mut self, include: bool) -> &mut DiffOptions[src]

Include unreadable files in the diff

pub fn include_unreadable_as_untracked(
    &mut self,
    include: bool
) -> &mut DiffOptions
[src]

Include unreadable files in the diff as untracked files

pub fn force_text(&mut self, force: bool) -> &mut DiffOptions[src]

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

pub fn force_binary(&mut self, force: bool) -> &mut DiffOptions[src]

Treat all files as binary, disabling text diffs

pub fn ignore_whitespace(&mut self, ignore: bool) -> &mut DiffOptions[src]

Ignore all whitespace

pub fn ignore_whitespace_change(&mut self, ignore: bool) -> &mut DiffOptions[src]

Ignore changes in the amount of whitespace

pub fn ignore_whitespace_eol(&mut self, ignore: bool) -> &mut DiffOptions[src]

Ignore whitespace at the end of line

pub fn show_untracked_content(&mut self, show: bool) -> &mut DiffOptions[src]

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.

pub fn show_unmodified(&mut self, show: bool) -> &mut DiffOptions[src]

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.

pub fn patience(&mut self, patience: bool) -> &mut DiffOptions[src]

Use the "patience diff" algorithm

pub fn minimal(&mut self, minimal: bool) -> &mut DiffOptions[src]

Take extra time to find the minimal diff

pub fn show_binary(&mut self, show: bool) -> &mut DiffOptions[src]

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

pub fn indent_heuristic(&mut self, heuristic: bool) -> &mut DiffOptions[src]

Use a heuristic that takes indentation and whitespace into account which generally can produce better diffs when dealing with ambiguous diff hunks.

pub fn context_lines(&mut self, lines: u32) -> &mut DiffOptions[src]

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.

pub fn interhunk_lines(&mut self, lines: u32) -> &mut DiffOptions[src]

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.

pub fn id_abbrev(&mut self, abbrev: u16) -> &mut DiffOptions[src]

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

pub fn max_size(&mut self, size: i64) -> &mut DiffOptions[src]

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.

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

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

The default value for this is "a".

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

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

The default value for this is "b".

pub fn pathspec<T: IntoCString>(&mut self, pathspec: T) -> &mut DiffOptions[src]

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

pub unsafe fn raw(&mut self) -> *const git_diff_options[src]

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.

Trait Implementations

impl Default for DiffOptions[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.