Struct git2::build::CheckoutBuilder [] [src]

pub struct CheckoutBuilder<'cb> {
    // some fields omitted
}

A builder struct for configuring checkouts of a repository.

Methods

impl<'cb> CheckoutBuilder<'cb>
[src]

fn new() -> CheckoutBuilder<'cb>

Creates a new builder for checkouts with all of its default configuration.

fn dry_run(&mut self) -> &mut CheckoutBuilder<'cb>

Indicate that this checkout should perform a dry run by checking for conflicts but not make any actual changes.

fn force(&mut self) -> &mut CheckoutBuilder<'cb>

Take any action necessary to get the working directory to match the target including potentially discarding modified files.

fn safe(&mut self) -> &mut CheckoutBuilder<'cb>

Indicate that the checkout should be performed safely, allowing new files to be created but not overwriting extisting files or changes.

This is the default.

fn recreate_missing(&mut self, allow: bool) -> &mut CheckoutBuilder<'cb>

In safe mode, create files that don't exist.

Defaults to false.

fn allow_conflicts(&mut self, allow: bool) -> &mut CheckoutBuilder<'cb>

In safe mode, apply safe file updates even when there are conflicts instead of canceling the checkout.

Defaults to false.

fn remove_untracked(&mut self, remove: bool) -> &mut CheckoutBuilder<'cb>

Remove untracked files from the working dir.

Defaults to false.

fn remove_ignored(&mut self, remove: bool) -> &mut CheckoutBuilder<'cb>

Remove ignored files from the working dir.

Defaults to false.

fn update_only(&mut self, update: bool) -> &mut CheckoutBuilder<'cb>

Only update the contents of files that already exist.

If set, files will not be created or deleted.

Defaults to false.

fn update_index(&mut self, update: bool) -> &mut CheckoutBuilder<'cb>

Prevents checkout from writing the updated files' information to the index.

Defaults to true.

fn refresh(&mut self, refresh: bool) -> &mut CheckoutBuilder<'cb>

Indicate whether the index and git attributes should be refreshed from disk before any operations.

Defaults to true,

fn skip_unmerged(&mut self, skip: bool) -> &mut CheckoutBuilder<'cb>

Skip files with unmerged index entries.

Defaults to false.

fn use_ours(&mut self, ours: bool) -> &mut CheckoutBuilder<'cb>

Indicate whether the checkout should proceed on conflicts by using the stage 2 version of the file ("ours").

Defaults to false.

fn use_theirs(&mut self, theirs: bool) -> &mut CheckoutBuilder<'cb>

Indicate whether the checkout should proceed on conflicts by using the stage 3 version of the file ("theirs").

Defaults to false.

fn overwrite_ignored(&mut self, overwrite: bool) -> &mut CheckoutBuilder<'cb>

Indicate whether ignored files should be overwritten during the checkout.

Defaults to true.

fn conflict_style_merge(&mut self, on: bool) -> &mut CheckoutBuilder<'cb>

Indicate whether a normal merge file should be written for conflicts.

Defaults to false.

fn notify_on(&mut self, notification_types: CheckoutNotificationType) -> &mut CheckoutBuilder<'cb>

Specify for which notification types to invoke the notification callback.

Defaults to none.

fn conflict_style_diff3(&mut self, on: bool) -> &mut CheckoutBuilder<'cb>

Indicates whether to include common ancestor data in diff3 format files for conflicts.

Defaults to false.

fn disable_filters(&mut self, disable: bool) -> &mut CheckoutBuilder<'cb>

Indicate whether to apply filters like CRLF conversion.

fn dir_perm(&mut self, perm: i32) -> &mut CheckoutBuilder<'cb>

Set the mode with which new directories are created.

Default is 0755

fn file_perm(&mut self, perm: i32) -> &mut CheckoutBuilder<'cb>

Set the mode with which new files are created.

The default is 0644 or 0755 as dictated by the blob.

fn path<T: IntoCString>(&mut self, path: T) -> &mut CheckoutBuilder<'cb>

Add a path to be checked out.

If no paths are specified, then all files are checked out. Otherwise only these specified paths are checked out.

fn target_dir(&mut self, dst: &Path) -> &mut CheckoutBuilder<'cb>

Set the directory to check out to

fn ancestor_label(&mut self, label: &str) -> &mut CheckoutBuilder<'cb>

The name of the common ancestor side of conflicts

fn our_label(&mut self, label: &str) -> &mut CheckoutBuilder<'cb>

The name of the common our side of conflicts

fn their_label(&mut self, label: &str) -> &mut CheckoutBuilder<'cb>

The name of the common their side of conflicts

fn progress<F>(&mut self, cb: F) -> &mut CheckoutBuilder<'cb> where F: FnMut(Option<&Path>, usize, usize) + 'cb

Set a callback to receive notifications of checkout progress.

fn notify<F>(&mut self, cb: F) -> &mut CheckoutBuilder<'cb> where F: FnMut(CheckoutNotificationType, Option<&Path>, DiffFile, DiffFile, DiffFile) -> bool + 'cb

Set a callback to receive checkout notifications.

Callbacks are invoked prior to modifying any files on disk. Returning false from the callback will cancel the checkout.

unsafe fn configure(&mut self, opts: &mut git_checkout_options)

Configure a raw checkout options based on this configuration.

This method is unsafe as there is no guarantee that this structure will outlive the provided checkout options.