pub struct MergeBase {
pub project: NameOrId<'static>,
pub refs: Vec<String>,
}Expand description
Find the common ancestor of two or more refs (branch names, tags or SHAs).
Maps to GET /projects/:id/repository/merge_base?refs[]=a&refs[]=b.
The answer is the merge base commit (id, short_id, …). Comparing it
with one of the refs tells whether that ref is an ancestor of the others.
§Examples
use ironflow_ops_gitlab::GitLab;
use ironflow_ops_gitlab::endpoints::repository::MergeBase;
use gitlab::api::common::NameOrId;
let gitlab = GitLab::new("glpat-xxxx", "gitlab.com").await?;
let endpoint = MergeBase {
project: NameOrId::from("group/project"),
refs: vec!["0a1b2c3".to_string(), "main".to_string()],
};
let op = gitlab.op(endpoint);§Errors
Returns an error if the request fails, for instance when the refs share no history (GitLab answers 400) or a ref does not exist.
Fields§
§project: NameOrId<'static>The project holding the refs.
refs: Vec<String>The refs to find the common ancestor of (at least two).
Trait Implementations§
Source§impl Endpoint for MergeBase
impl Endpoint for MergeBase
Source§fn parameters(&self) -> QueryParams<'_>
fn parameters(&self) -> QueryParams<'_>
Query parameters for the endpoint.
Auto Trait Implementations§
impl Freeze for MergeBase
impl RefUnwindSafe for MergeBase
impl Send for MergeBase
impl Sync for MergeBase
impl Unpin for MergeBase
impl UnsafeUnpin for MergeBase
impl UnwindSafe for MergeBase
Blanket Implementations§
Source§impl<E, T, C> AsyncQuery<T, C> for E
impl<E, T, C> AsyncQuery<T, C> for E
Source§fn query_async<'life0, 'life1, 'async_trait>(
&'life0 self,
client: &'life1 C,
) -> Pin<Box<dyn Future<Output = Result<T, ApiError<<C as RestClient>::Error>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
E: 'async_trait,
fn query_async<'life0, 'life1, 'async_trait>(
&'life0 self,
client: &'life1 C,
) -> Pin<Box<dyn Future<Output = Result<T, ApiError<<C as RestClient>::Error>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
E: 'async_trait,
Perform the query asynchronously against the client.
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
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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