pub struct Merge {
pub mode: MergeMode,
pub base: Option<String>,
pub style: MergeStyle,
pub remote: String,
pub release_bump: bool,
}Expand description
Merge policy.
Fields§
§mode: MergeModeDefault is MergeMode::None: magi never touches your base branch
unless you ask it to.
base: Option<String>Base branch. Defaults to the branch checked out when the run started.
style: MergeStyleHow the winner is attached to base; see MergeStyle. Ignored by
mode = "pr".
remote: StringRemote for mode = "pr".
release_bump: boolAfter a mode = "pr" run lands, open a chore/release-vX.Y.Z pull
request sized to the change by an agent’s own judgement, so a version
bump does not depend on a human remembering to cut one.
On by default. Turning this off means a merge landed from the phone
never becomes a release, so POST /api/upgrade keeps reporting
“already on the newest release” against a main that has moved past
it - the same gap this feature exists to close. Only for a repository
that wants to keep cutting releases by hand.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Merge
impl<'de> Deserialize<'de> for Merge
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for Merge
impl RefUnwindSafe for Merge
impl Send for Merge
impl Sync for Merge
impl Unpin for Merge
impl UnsafeUnpin for Merge
impl UnwindSafe for Merge
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> ⓘ
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> ⓘ
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