summaryrefslogtreecommitdiffstats
path: root/vendor/gix/src/reference
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-19 09:26:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-19 09:26:03 +0000
commit9918693037dce8aa4bb6f08741b6812923486c18 (patch)
tree21d2b40bec7e6a7ea664acee056eb3d08e15a1cf /vendor/gix/src/reference
parentReleasing progress-linux version 1.75.0+dfsg1-5~progress7.99u1. (diff)
downloadrustc-9918693037dce8aa4bb6f08741b6812923486c18.tar.xz
rustc-9918693037dce8aa4bb6f08741b6812923486c18.zip
Merging upstream version 1.76.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/gix/src/reference')
-rw-r--r--vendor/gix/src/reference/edits.rs3
-rw-r--r--vendor/gix/src/reference/errors.rs8
-rw-r--r--vendor/gix/src/reference/iter.rs14
-rw-r--r--vendor/gix/src/reference/mod.rs10
4 files changed, 10 insertions, 25 deletions
diff --git a/vendor/gix/src/reference/edits.rs b/vendor/gix/src/reference/edits.rs
index 208340770..cba652630 100644
--- a/vendor/gix/src/reference/edits.rs
+++ b/vendor/gix/src/reference/edits.rs
@@ -1,9 +1,10 @@
///
pub mod set_target_id {
- use crate::{bstr::BString, Reference};
use gix_macros::momo;
use gix_ref::{transaction::PreviousValue, Target};
+ use crate::{bstr::BString, Reference};
+
mod error {
use gix_ref::FullName;
diff --git a/vendor/gix/src/reference/errors.rs b/vendor/gix/src/reference/errors.rs
index ff3802e94..d5b09f78e 100644
--- a/vendor/gix/src/reference/errors.rs
+++ b/vendor/gix/src/reference/errors.rs
@@ -43,9 +43,7 @@ pub mod head_id {
#[error(transparent)]
Head(#[from] crate::reference::find::existing::Error),
#[error(transparent)]
- PeelToId(#[from] crate::head::peel::Error),
- #[error("Branch '{name}' does not have any commits")]
- Unborn { name: gix_ref::FullName },
+ PeelToId(#[from] crate::head::peel::into_id::Error),
}
}
@@ -69,9 +67,7 @@ pub mod head_tree_id {
#[allow(missing_docs)]
pub enum Error {
#[error(transparent)]
- Head(#[from] crate::reference::find::existing::Error),
- #[error(transparent)]
- PeelToCommit(#[from] crate::head::peel::to_commit::Error),
+ HeadCommit(#[from] crate::reference::head_commit::Error),
#[error(transparent)]
DecodeCommit(#[from] gix_object::decode::Error),
}
diff --git a/vendor/gix/src/reference/iter.rs b/vendor/gix/src/reference/iter.rs
index a79a74743..604a8ac4b 100644
--- a/vendor/gix/src/reference/iter.rs
+++ b/vendor/gix/src/reference/iter.rs
@@ -2,7 +2,6 @@
use std::path::Path;
use gix_macros::momo;
-use gix_odb::pack::Find;
use gix_ref::file::ReferenceExt;
/// A platform to create iterators over references.
@@ -96,15 +95,10 @@ impl<'r> Iterator for Iter<'r> {
res.map_err(|err| Box::new(err) as Box<dyn std::error::Error + Send + Sync + 'static>)
.and_then(|mut r| {
if self.peel {
- let handle = &self.repo;
- r.peel_to_id_in_place(&handle.refs, &mut |oid, buf| {
- handle
- .objects
- .try_find(oid.as_ref(), buf)
- .map(|po| po.map(|(o, _l)| (o.kind, o.data)))
- })
- .map_err(|err| Box::new(err) as Box<dyn std::error::Error + Send + Sync + 'static>)
- .map(|_| r)
+ let repo = &self.repo;
+ r.peel_to_id_in_place(&repo.refs, &repo.objects)
+ .map_err(|err| Box::new(err) as Box<dyn std::error::Error + Send + Sync + 'static>)
+ .map(|_| r)
} else {
Ok(r)
}
diff --git a/vendor/gix/src/reference/mod.rs b/vendor/gix/src/reference/mod.rs
index 2d32f595d..ebdbf66a7 100644
--- a/vendor/gix/src/reference/mod.rs
+++ b/vendor/gix/src/reference/mod.rs
@@ -1,6 +1,5 @@
//!
-use gix_odb::pack::Find;
use gix_ref::file::ReferenceExt;
use crate::{Id, Reference};
@@ -69,13 +68,8 @@ impl<'repo> Reference<'repo> {
///
/// This is useful to learn where this reference is ultimately pointing to.
pub fn peel_to_id_in_place(&mut self) -> Result<Id<'repo>, peel::Error> {
- let repo = &self.repo;
- let oid = self.inner.peel_to_id_in_place(&repo.refs, &mut |oid, buf| {
- repo.objects
- .try_find(&oid, buf)
- .map(|po| po.map(|(o, _l)| (o.kind, o.data)))
- })?;
- Ok(Id::from_id(oid, repo))
+ let oid = self.inner.peel_to_id_in_place(&self.repo.refs, &self.repo.objects)?;
+ Ok(Id::from_id(oid, self.repo))
}
/// Similar to [`peel_to_id_in_place()`][Reference::peel_to_id_in_place()], but consumes this instance.