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,
tag: Option<ObjectId>,
object: ObjectId,
},
Unborn {
full_ref_name: BString,
target: BString,
},
}
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
target: BString
The 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§
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>,
source§impl Ord for Ref
impl Ord for Ref
source§impl PartialOrd for Ref
impl PartialOrd for Ref
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