Function gix_worktree_state::checkout
source · pub fn checkout<Find, E>(
index: &mut State,
dir: impl Into<PathBuf>,
find: Find,
files: &dyn Count,
bytes: &dyn Count,
should_interrupt: &AtomicBool,
options: Options
) -> Result<Outcome, Error<E>>where
Find: for<'a> FnMut(&oid, &'a mut Vec<u8>) -> Result<BlobRef<'a>, E> + Send + Clone,
E: Error + Send + Sync + 'static,
Expand description
Checkout the entire index
into dir
, and resolve objects found in index entries with find
to write their content to their
respective path in dir
.
Use files
to count each fully checked out file, and count the amount written bytes
. If should_interrupt
is true
, the
operation will abort.
options
provide a lot of context on how to perform the operation.
Handling the return value
Note that interruption still produce an Ok(…)
value, so the caller should look at should_interrupt
to communicate the outcome.