Skip to main content

RemoteUnreadableReason

Enum RemoteUnreadableReason 

Source
#[non_exhaustive]
pub enum RemoteUnreadableReason { RepositoryNotFound, Transport { detail: String, }, HttpStatus { status: u16, }, NotGitServer { status: u16, content_type: Option<String>, }, NoHandshake, }
Expand description

Why a remote could not be read or written (Error::RemoteUnreadable).

Every reason is a failure to talk to the remote at all, as opposed to the remote refusing an update. Self::Transport is the one usually worth retrying on a flaky network.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

RepositoryNotFound

A local path or file:// URL does not name a Git directory (valid HEAD, plus objects/ and refs/ in the common directory).

§

Transport

The connection failed or broke: name resolution, refused or reset connection, TLS, or timeouts.

Fields

§detail: String

Transport-level description of the failure, with URL credentials redacted.

§

HttpStatus

A smart-HTTP server answered with an error status other than an authentication challenge (those are Error::Auth).

Fields

§status: u16

HTTP status code (>= 400).

§

NotGitServer

An HTTP response looked successful but was not a Git smart-HTTP ref advertisement (for example 200 text/html from a parked or mistyped host).

Fields

§status: u16

HTTP status code (often 200).

§content_type: Option<String>

Response Content-Type when present (media type only, without parameters).

§

NoHandshake

The transport ran, but the remote never completed the Git protocol handshake (for example ssh exited, or a git:// peer closed, before any ref advertisement).

Implementations§

Source§

impl RemoteUnreadableReason

Source

pub fn slug(&self) -> &'static str

Stable snake-case name for machine-readable output (repository_not_found, transport, http_status, not_git_server, no_handshake).

Trait Implementations§

Source§

impl Clone for RemoteUnreadableReason

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for RemoteUnreadableReason

Source§

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

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

impl Eq for RemoteUnreadableReason

Source§

impl PartialEq for RemoteUnreadableReason

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for RemoteUnreadableReason

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.