Struct git2::build::CheckoutBuilder

source ·
pub struct CheckoutBuilder<'cb> { /* private fields */ }
Expand description

A builder struct for configuring checkouts of a repository.

Implementations§

source§

impl<'cb> CheckoutBuilder<'cb>

source

pub fn new() -> CheckoutBuilder<'cb>

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

source

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

source

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

source

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

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

This is the default.

source

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

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

Defaults to false.

source

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

source

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

Remove untracked files from the working dir.

Defaults to false.

source

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

Remove ignored files from the working dir.

Defaults to false.

source

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

source

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

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

Defaults to true.

source

pub 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,

source

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

Skip files with unmerged index entries.

Defaults to false.

source

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

source

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

source

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

Indicate whether ignored files should be overwritten during the checkout.

Defaults to true.

source

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

source

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

Specify for which notification types to invoke the notification callback.

Defaults to none.

source

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

source

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

Indicate whether to apply filters like CRLF conversion.

source

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

Set the mode with which new directories are created.

Default is 0755

source

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

source

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

source

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

Set the directory to check out to

source

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

The name of the common ancestor side of conflicts

source

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

The name of the common our side of conflicts

source

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

The name of the common their side of conflicts

source

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

source

pub fn notify<F>(&mut self, cb: F) -> &mut CheckoutBuilder<'cb>where F: FnMut(CheckoutNotificationType, Option<&Path>, Option<DiffFile<'_>>, Option<DiffFile<'_>>, Option<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.

source

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

Trait Implementations§

source§

impl<'cb> Default for CheckoutBuilder<'cb>

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'cb> !RefUnwindSafe for CheckoutBuilder<'cb>

§

impl<'cb> !Send for CheckoutBuilder<'cb>

§

impl<'cb> !Sync for CheckoutBuilder<'cb>

§

impl<'cb> Unpin for CheckoutBuilder<'cb>

§

impl<'cb> !UnwindSafe for CheckoutBuilder<'cb>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.