Enum gix_protocol::handshake::Ref
source · pub enum Ref {
Peeled {
full_ref_name: BString,
tag: ObjectId,
object: ObjectId,
},
Direct {
full_ref_name: BString,
object: ObjectId,
},
Symbolic {
full_ref_name: BString,
target: BString,
object: ObjectId,
},
Unborn {
full_ref_name: BString,
target: BString,
},
}
Available on crate features
blocking-client
or async-client
only.Expand description
A git reference, commonly referred to as ‘ref’, as returned by a git server before sending a pack.
Variants§
Peeled
Fields
A ref pointing to a tag
object, which in turns points to an object
, usually a commit
Direct
Fields
A ref pointing to a commit object
Symbolic
Fields
A symbolic ref pointing to target
ref, which in turn points to an object
Unborn
Fields
A ref is unborn on the remote and just points to the initial, unborn branch, as is the case in a newly initialized repository or dangling symbolic refs.
Implementations§
source§impl Ref
impl Ref
sourcepub fn unpack(&self) -> (&BStr, Option<&oid>, Option<&oid>)
pub fn unpack(&self) -> (&BStr, Option<&oid>, Option<&oid>)
Provide shared fields referring to the ref itself, namely (name, target, [peeled])
.
In case of peeled refs, the tag object itself is returned as it is what the ref directly refers to, and target of the tag is returned
as peeled
.
If unborn
, the first object id will be the null oid.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Ref
impl<'de> Deserialize<'de> for Ref
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Ord for Ref
impl Ord for Ref
source§impl PartialOrd<Ref> for Ref
impl PartialOrd<Ref> for Ref
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 more