Struct git_ref::PartialNameRef
source · #[repr(transparent)]pub struct PartialNameRef(_);
Expand description
A validated complete and fully qualified referenced reference name, safe to use for all operations.
Implementations§
source§impl PartialNameRef
impl PartialNameRef
sourcepub fn to_partial_path(&self) -> &Path
pub fn to_partial_path(&self) -> &Path
Convert this name into the relative path possibly identifying the reference location. Note that it may be only a partial path though.
Examples found in repository?
src/store/file/find.rs (line 300)
285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304
pub(crate) fn find_existing_inner<'a, Name, E>(
&self,
partial: Name,
packed: Option<&packed::Buffer>,
) -> Result<Reference, Error>
where
Name: TryInto<&'a PartialNameRef, Error = E>,
crate::name::Error: From<E>,
{
let path = partial
.try_into()
.map_err(|err| Error::Find(find::Error::RefnameValidation(err.into())))?;
match self.find_one_with_verified_input(path, packed) {
Ok(Some(r)) => Ok(r),
Ok(None) => Err(Error::NotFound {
name: path.to_partial_path().to_owned(),
}),
Err(err) => Err(err.into()),
}
}
sourcepub fn as_bstr(&self) -> &BStr
pub fn as_bstr(&self) -> &BStr
Provide the name as binary string which is known to be a valid partial ref name.
Examples found in repository?
src/store/packed/find.rs (line 22)
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
pub fn try_find<'a, Name, E>(&self, name: Name) -> Result<Option<packed::Reference<'_>>, Error>
where
Name: TryInto<&'a PartialNameRef, Error = E>,
Error: From<E>,
{
let name = name.try_into()?;
let mut buf = BString::default();
for inbetween in &["", "tags", "heads", "remotes"] {
let (name, was_absolute) = if name.looks_like_full_name() {
let name = FullNameRef::new_unchecked(name.as_bstr());
let name = match transform_full_name_for_lookup(name) {
None => return Ok(None),
Some(name) => name,
};
(name, true)
} else {
let full_name = name.construct_full_name_ref(true, inbetween, &mut buf);
(full_name, false)
};
match self.try_find_full_name(name)? {
Some(r) => return Ok(Some(r)),
None if was_absolute => return Ok(None),
None => continue,
}
}
Ok(None)
}
Trait Implementations§
source§impl AsRef<PartialNameRef> for PartialName
impl AsRef<PartialNameRef> for PartialName
source§fn as_ref(&self) -> &PartialNameRef
fn as_ref(&self) -> &PartialNameRef
Converts this type into a shared reference of the (usually inferred) input type.
source§impl Borrow<PartialNameRef> for PartialName
impl Borrow<PartialNameRef> for PartialName
source§fn borrow(&self) -> &PartialNameRef
fn borrow(&self) -> &PartialNameRef
Immutably borrows from an owned value. Read more
source§impl Debug for PartialNameRef
impl Debug for PartialNameRef
source§impl<'a> From<&'a FullNameRef> for &'a PartialNameRef
impl<'a> From<&'a FullNameRef> for &'a PartialNameRef
source§fn from(v: &'a FullNameRef) -> Self
fn from(v: &'a FullNameRef) -> Self
Converts to this type from the input type.
source§impl Hash for PartialNameRef
impl Hash for PartialNameRef
source§impl Ord for PartialNameRef
impl Ord for PartialNameRef
source§impl PartialEq<PartialNameRef> for PartialNameRef
impl PartialEq<PartialNameRef> for PartialNameRef
source§fn eq(&self, other: &PartialNameRef) -> bool
fn eq(&self, other: &PartialNameRef) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<PartialNameRef> for PartialNameRef
impl PartialOrd<PartialNameRef> for PartialNameRef
source§fn partial_cmp(&self, other: &PartialNameRef) -> Option<Ordering>
fn partial_cmp(&self, other: &PartialNameRef) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl ToOwned for PartialNameRef
impl ToOwned for PartialNameRef
§type Owned = PartialName
type Owned = PartialName
The resulting type after obtaining ownership.
source§fn to_owned(&self) -> Self::Owned
fn to_owned(&self) -> Self::Owned
Creates owned data from borrowed data, usually by cloning. Read more
1.63.0 · source§fn clone_into(&self, target: &mut Self::Owned)
fn clone_into(&self, target: &mut Self::Owned)
Uses borrowed data to replace owned data, usually by cloning. Read more