Enum gitoxide_core::pack::receive::Ref
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,
tag: Option<ObjectId>,
object: ObjectId,
},
Unborn {
full_ref_name: BString,
target: BString,
},
}async-client or blocking-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
target: BStringThe path of the ref the symbolic ref points to, like refs/heads/main.
See issue #205 for details
A symbolic ref pointing to target ref, which in turn, ultimately after possibly following tag, 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§
§impl Ref
impl Ref
pub 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§
§impl<'de> Deserialize<'de> for Ref
impl<'de> Deserialize<'de> for Ref
§fn deserialize<__D>(
__deserializer: __D
) -> Result<Ref, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<Ref, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
§impl Ord for Ref
impl Ord for Ref
§impl PartialOrd<Ref> for Ref
impl PartialOrd<Ref> for Ref
§fn partial_cmp(&self, other: &Ref) -> Option<Ordering>
fn partial_cmp(&self, other: &Ref) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read more