Enum git_protocol::fetch::Ref[][src]

pub enum Ref {
    Peeled {
        path: BString,
        tag: Id,
        object: Id,
    },
    Direct {
        path: BString,
        object: Id,
    },
    Symbolic {
        path: BString,
        target: BString,
        object: Id,
    },
}

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 of Peeled

path: BString

The path at which the ref is located, like /refs/heads/main.

tag: Id

The hash of the tag the ref points to.

object: Id

The hash of the object the tag points to.

Direct

A ref pointing to a commit object

Fields of Direct

path: BString

The path at which the ref is located, like /refs/heads/main.

object: Id

The hash of the object the ref points to.

Symbolic

A symbolic ref pointing to target ref, which in turn points to an object

Fields of Symbolic

path: BString

The path at which the symbolic ref is located, like /refs/heads/main.

target: BString

The path of the ref the symbolic ref points to.

object: Id

The hash of the object the target ref points to.

Implementations

impl Ref[src]

pub fn unpack(&self) -> (&BString, &Id)[src]

Provide shared fields referring to the ref itself, namely (path, object id). In case of peeled refs, the tag object itself is returned as it is what the path refers to.

Trait Implementations

impl Clone for Ref[src]

impl Debug for Ref[src]

impl Eq for Ref[src]

impl Hash for Ref[src]

impl Ord for Ref[src]

impl PartialEq<Ref> for Ref[src]

impl PartialOrd<Ref> for Ref[src]

impl StructuralEq for Ref[src]

impl StructuralPartialEq for Ref[src]

Auto Trait Implementations

impl RefUnwindSafe for Ref

impl Send for Ref

impl Sync for Ref

impl Unpin for Ref

impl UnwindSafe for Ref

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.