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
A ref pointing to a tag
object, which in turns points to an object
, usually a commit
Fields
Direct
A ref pointing to a commit object
Fields
Symbolic
A symbolic ref pointing to target
ref, which in turn, ultimately after possibly following tag
, points to an object
Fields
target: BString
The path of the ref the symbolic ref points to, like refs/heads/main
.
See issue #205 for details
Unborn
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
impl Eq for Ref
impl StructuralPartialEq for Ref
Auto Trait Implementations§
impl Freeze for Ref
impl RefUnwindSafe for Ref
impl Send for Ref
impl Sync for Ref
impl Unpin for Ref
impl UnwindSafe for Ref
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)