gix_refspec

Struct MatchGroup

source
pub struct MatchGroup<'a> {
    pub specs: Vec<RefSpecRef<'a>>,
}
Expand description

A match group is able to match a list of ref specs in order while handling negation, conflicts and one to many mappings.

Fields§

§specs: Vec<RefSpecRef<'a>>

The specs that take part in item matching.

Implementations§

source§

impl<'a> MatchGroup<'a>

Initialization

source

pub fn from_fetch_specs(specs: impl IntoIterator<Item = RefSpecRef<'a>>) -> Self

Take all the fetch ref specs from specs get a match group ready.

source

pub fn from_push_specs(specs: impl IntoIterator<Item = RefSpecRef<'a>>) -> Self

Take all the push ref specs from specs get a match group ready.

source§

impl<'a> MatchGroup<'a>

Matching

source

pub fn match_remotes<'item>( self, items: impl Iterator<Item = Item<'item>> + Clone, ) -> Outcome<'a, 'item>

Match all items against all fetch specs present in this group, returning deduplicated mappings from source to destination. Note that this method is correct only for specs, even though it also works for push-specs.

Note that negative matches are not part of the return value, so they are not observable but will be used to remove mappings.

Trait Implementations§

source§

impl<'a> Clone for MatchGroup<'a>

source§

fn clone(&self) -> MatchGroup<'a>

Returns a copy 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<'a> Debug for MatchGroup<'a>

source§

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

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

impl<'a> Default for MatchGroup<'a>

source§

fn default() -> MatchGroup<'a>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for MatchGroup<'a>

§

impl<'a> RefUnwindSafe for MatchGroup<'a>

§

impl<'a> Send for MatchGroup<'a>

§

impl<'a> Sync for MatchGroup<'a>

§

impl<'a> Unpin for MatchGroup<'a>

§

impl<'a> UnwindSafe for MatchGroup<'a>

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, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> 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 = 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.