Capability

Enum Capability 

Source
pub enum Capability {
Show 29 variants MultiAck, MultiAckDetailed, NoDone, SideBand, SideBand64k, ReportStatus, ReportStatusv2, OfsDelta, DeepenSince, DeepenNot, DeepenRelative, ThinPack, Shallow, IncludeTag, DeleteRefs, Quiet, Atomic, NoThin, NoProgress, AllowTipSha1InWant, AllowReachableSha1InWant, PushCert(String), PushOptions, ObjectFormat(String), SessionId(String), Filter(String), Symref(String), Agent(String), Unknown(String),
}
Expand description

Git protocol capabilities

§Implementation Status Overview

§Implemented capabilities:

  • Data transmission: SideBand, SideBand64k - Multiplexed data streams via side-band formatter
  • Status reporting: ReportStatus, ReportStatusv2 - Push status feedback via protocol handlers
  • Pack optimization: OfsDelta, ThinPack, NoThin - Delta compression and efficient transmission
  • Protocol control: MultiAckDetailed, NoDone - ACK mechanism optimization for upload-pack
  • Push control: Atomic, DeleteRefs, Quiet - Atomic operations and reference management
  • Tag handling: IncludeTag - Automatic tag inclusion for upload-pack
  • Client identification: Agent - Client/server identification in capability negotiation

§Not yet implemented capabilities:

  • Basic protocol: MultiAck - Basic multi-ack support (only detailed version implemented)
  • Shallow cloning: Shallow, DeepenSince, DeepenNot, DeepenRelative - Depth control for shallow clones
  • Progress control: NoProgress - Progress output suppression
  • Special fetch: AllowTipSha1InWant, AllowReachableSha1InWant - SHA1 validation in want processing
  • Security: PushCert - Push certificate verification mechanism
  • Extensions: PushOptions, Filter, Symref - Extended parameter handling
  • Session management: SessionId, ObjectFormat - Session and format negotiation

Variants§

§

MultiAck

Multi-ack capability for upload-pack protocol

§

MultiAckDetailed

Multi-ack-detailed capability for more granular acknowledgment

§

NoDone

No-done capability to optimize upload-pack protocol

§

SideBand

Side-band capability for multiplexing data streams

§

SideBand64k

Side-band-64k capability for larger side-band packets

§

ReportStatus

Report-status capability for push status reporting

§

ReportStatusv2

Report-status-v2 capability for enhanced push status reporting

§

OfsDelta

OFS-delta capability for offset-based delta compression

§

DeepenSince

Deepen-since capability for shallow clone with time-based depth

§

DeepenNot

Deepen-not capability for shallow clone exclusions

§

DeepenRelative

Deepen-relative capability for relative depth specification

§

ThinPack

Thin-pack capability for efficient pack transmission

§

Shallow

Shallow capability for shallow clone support

§

IncludeTag

Include-tag capability for automatic tag inclusion

§

DeleteRefs

Delete-refs capability for reference deletion

§

Quiet

Quiet capability to suppress output

§

Atomic

Atomic capability for atomic push operations

§

NoThin

No-thin capability to disable thin pack

§

NoProgress

No-progress capability to disable progress reporting

§

AllowTipSha1InWant

Allow-tip-sha1-in-want capability for fetching specific commits

§

AllowReachableSha1InWant

Allow-reachable-sha1-in-want capability for fetching reachable commits

§

PushCert(String)

Push-cert capability for signed push certificates

§

PushOptions

Push-options capability for additional push metadata

§

ObjectFormat(String)

Object-format capability for specifying hash algorithm

§

SessionId(String)

Session-id capability for session tracking

§

Filter(String)

Filter capability for partial clone support

§

Symref(String)

Symref capability for symbolic reference information

§

Agent(String)

Agent capability for client/server identification

§

Unknown(String)

Unknown capability for forward compatibility

Trait Implementations§

Source§

impl Clone for Capability

Source§

fn clone(&self) -> Capability

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Capability

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Capability

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromStr for Capability

Source§

type Err = ()

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl PartialEq for Capability

Source§

fn eq(&self, other: &Capability) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Capability

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ValueSize for T

Source§

fn value_size(&self) -> usize

The size of this value in bytes, excluding allocated data. Read more
Source§

fn value_size_sum_iter<'item>(iterator: impl Iterator<Item = &'item T>) -> usize
where T: 'item,

The total sum of the sizes of all values in the given iterator, in bytes. This is default-implemented by computing ValueSize::value_size on every element and summing them. For Sized types, a more potentially efficient implementation using Iterator::count is provided. If you are implementing this trait manually, it is unlikely to be more efficient to provide a manual implementation here. Read more
Source§

fn value_size_sum_exact_size_iter<'item>( iterator: impl ExactSizeIterator<Item = &'item T>, ) -> usize
where T: 'item,

The total sum of the sizes of all values in the given exact-size-iterator, in bytes. This is default-implemented by using ValueSize::value_size_sum_iter. For Sized types, a usually more efficient implementation using ExactSizeIterator::len is provided. If you are implementing this trait manually, it is unlikely to be more efficient to provide a manual implementation here. Read more
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,