From 9918693037dce8aa4bb6f08741b6812923486c18 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 19 Jun 2024 11:26:03 +0200 Subject: Merging upstream version 1.76.0+dfsg1. Signed-off-by: Daniel Baumann --- vendor/gix/src/clone/checkout.rs | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'vendor/gix/src/clone/checkout.rs') diff --git a/vendor/gix/src/clone/checkout.rs b/vendor/gix/src/clone/checkout.rs index ece480a56..84a3fedbd 100644 --- a/vendor/gix/src/clone/checkout.rs +++ b/vendor/gix/src/clone/checkout.rs @@ -4,8 +4,6 @@ use crate::{clone::PrepareCheckout, Repository}; pub mod main_worktree { use std::{path::PathBuf, sync::atomic::AtomicBool}; - use gix_odb::FindExt; - use crate::{clone::PrepareCheckout, Progress, Repository}; /// The error returned by [`PrepareCheckout::main_worktree()`]. @@ -26,7 +24,7 @@ pub mod main_worktree { #[error(transparent)] CheckoutOptions(#[from] crate::config::checkout_options::Error), #[error(transparent)] - IndexCheckout(#[from] gix_worktree_state::checkout::Error), + IndexCheckout(#[from] gix_worktree_state::checkout::Error), #[error("Failed to reopen object database as Arc (only if thread-safety wasn't compiled in)")] OpenArcOdb(#[from] std::io::Error), #[error("The HEAD reference could not be located")] @@ -87,7 +85,7 @@ pub mod main_worktree { let workdir = repo.work_dir().ok_or_else(|| Error::BareRepository { git_dir: repo.git_dir().to_owned(), })?; - let root_tree = match repo.head()?.peel_to_id_in_place().transpose()? { + let root_tree = match repo.head()?.try_peel_to_id_in_place()? { Some(id) => id.object().expect("downloaded from remote").peel_to_tree()?.id, None => { return Ok(( @@ -96,11 +94,10 @@ pub mod main_worktree { )) } }; - let index = gix_index::State::from_tree(&root_tree, |oid, buf| repo.objects.find_tree_iter(oid, buf).ok()) - .map_err(|err| Error::IndexFromTree { - id: root_tree, - source: err, - })?; + let index = gix_index::State::from_tree(&root_tree, &repo.objects).map_err(|err| Error::IndexFromTree { + id: root_tree, + source: err, + })?; let mut index = gix_index::File::from_state(index, repo.index_path()); let mut opts = repo @@ -118,10 +115,7 @@ pub mod main_worktree { let outcome = gix_worktree_state::checkout( &mut index, workdir, - { - let objects = repo.objects.clone().into_arc()?; - move |oid, buf| objects.find_blob(oid, buf) - }, + repo.objects.clone().into_arc()?, &files, &bytes, should_interrupt, -- cgit v1.2.3