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>
impl<'cb> CheckoutBuilder<'cb>
sourcepub fn new() -> CheckoutBuilder<'cb>
pub fn new() -> CheckoutBuilder<'cb>
Creates a new builder for checkouts with all of its default configuration.
sourcepub fn dry_run(&mut self) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn force(&mut self) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn safe(&mut self) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn recreate_missing(&mut self, allow: bool) -> &mut CheckoutBuilder<'cb>
pub fn recreate_missing(&mut self, allow: bool) -> &mut CheckoutBuilder<'cb>
In safe mode, create files that don’t exist.
Defaults to false.
sourcepub fn allow_conflicts(&mut self, allow: bool) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn remove_untracked(&mut self, remove: bool) -> &mut CheckoutBuilder<'cb>
pub fn remove_untracked(&mut self, remove: bool) -> &mut CheckoutBuilder<'cb>
Remove untracked files from the working dir.
Defaults to false.
sourcepub fn remove_ignored(&mut self, remove: bool) -> &mut CheckoutBuilder<'cb>
pub fn remove_ignored(&mut self, remove: bool) -> &mut CheckoutBuilder<'cb>
Remove ignored files from the working dir.
Defaults to false.
sourcepub fn update_only(&mut self, update: bool) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn update_index(&mut self, update: bool) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn refresh(&mut self, refresh: bool) -> &mut CheckoutBuilder<'cb>
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,
sourcepub fn skip_unmerged(&mut self, skip: bool) -> &mut CheckoutBuilder<'cb>
pub fn skip_unmerged(&mut self, skip: bool) -> &mut CheckoutBuilder<'cb>
Skip files with unmerged index entries.
Defaults to false.
sourcepub fn use_ours(&mut self, ours: bool) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn use_theirs(&mut self, theirs: bool) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn overwrite_ignored(
&mut self,
overwrite: bool,
) -> &mut CheckoutBuilder<'cb>
pub fn overwrite_ignored( &mut self, overwrite: bool, ) -> &mut CheckoutBuilder<'cb>
Indicate whether ignored files should be overwritten during the checkout.
Defaults to true.
sourcepub fn conflict_style_merge(&mut self, on: bool) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn notify_on(
&mut self,
notification_types: CheckoutNotificationType,
) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn conflict_style_diff3(&mut self, on: bool) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn disable_filters(&mut self, disable: bool) -> &mut CheckoutBuilder<'cb>
pub fn disable_filters(&mut self, disable: bool) -> &mut CheckoutBuilder<'cb>
Indicate whether to apply filters like CRLF conversion.
sourcepub fn dir_perm(&mut self, perm: i32) -> &mut CheckoutBuilder<'cb>
pub fn dir_perm(&mut self, perm: i32) -> &mut CheckoutBuilder<'cb>
Set the mode with which new directories are created.
Default is 0755
sourcepub fn file_perm(&mut self, perm: i32) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn path<T: IntoCString>(&mut self, path: T) -> &mut CheckoutBuilder<'cb>
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.
sourcepub fn target_dir(&mut self, dst: &Path) -> &mut CheckoutBuilder<'cb>
pub fn target_dir(&mut self, dst: &Path) -> &mut CheckoutBuilder<'cb>
Set the directory to check out to
sourcepub fn ancestor_label(&mut self, label: &str) -> &mut CheckoutBuilder<'cb>
pub fn ancestor_label(&mut self, label: &str) -> &mut CheckoutBuilder<'cb>
The name of the common ancestor side of conflicts
sourcepub fn our_label(&mut self, label: &str) -> &mut CheckoutBuilder<'cb>
pub fn our_label(&mut self, label: &str) -> &mut CheckoutBuilder<'cb>
The name of the common our side of conflicts
sourcepub fn their_label(&mut self, label: &str) -> &mut CheckoutBuilder<'cb>
pub fn their_label(&mut self, label: &str) -> &mut CheckoutBuilder<'cb>
The name of the common their side of conflicts
sourcepub fn progress<F>(&mut self, cb: F) -> &mut CheckoutBuilder<'cb>
pub fn progress<F>(&mut self, cb: F) -> &mut CheckoutBuilder<'cb>
Set a callback to receive notifications of checkout progress.
sourcepub fn notify<F>(&mut self, cb: F) -> &mut CheckoutBuilder<'cb>
pub fn notify<F>(&mut self, cb: F) -> &mut CheckoutBuilder<'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.
sourcepub unsafe fn configure(&mut self, opts: &mut git_checkout_options)
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.