StackAction

Enum StackAction 

Source
pub enum StackAction {
Show 26 variants Create { name: String, base: Option<String>, description: Option<String>, }, List { verbose: bool, active: bool, format: Option<String>, }, Switch { name: String, }, Deactivate { force: bool, }, Show { verbose: bool, mergeable: bool, }, Push { branch: Option<String>, message: Option<String>, commit: Option<String>, since: Option<String>, commits: Option<String>, squash: Option<usize>, squash_since: Option<String>, auto_branch: bool, allow_base_branch: bool, dry_run: bool, }, Pop { keep_branch: bool, }, Submit { entry: Option<usize>, title: Option<String>, description: Option<String>, range: Option<String>, draft: bool, open: bool, }, Status { name: Option<String>, }, Prs { state: Option<String>, verbose: bool, }, Check { force: bool, }, Sync { force: bool, cleanup: bool, interactive: bool, }, Rebase { interactive: bool, onto: Option<String>, strategy: Option<RebaseStrategyArg>, }, ContinueRebase, AbortRebase, RebaseStatus, Delete { name: String, force: bool, }, Validate { name: Option<String>, fix: Option<String>, }, Land { entry: Option<usize>, force: bool, dry_run: bool, auto: bool, wait_for_builds: bool, strategy: Option<MergeStrategyArg>, build_timeout: u64, }, AutoLand { force: bool, dry_run: bool, wait_for_builds: bool, strategy: Option<MergeStrategyArg>, build_timeout: u64, }, ListPrs { state: Option<String>, verbose: bool, }, ContinueLand, AbortLand, LandStatus, Cleanup { dry_run: bool, force: bool, include_stale: bool, stale_days: u32, cleanup_remote: bool, include_non_stack: bool, verbose: bool, }, Repair,
}

Variants§

§

Create

Create a new stack

Fields

§name: String

Name of the stack

§base: Option<String>

Base branch for the stack

§description: Option<String>

Description of the stack

§

List

List all stacks

Fields

§verbose: bool

Show detailed information

§active: bool

Show only active stack

§format: Option<String>

Output format (name, id, status)

§

Switch

Switch to a different stack

Fields

§name: String

Name of the stack to switch to

§

Deactivate

Deactivate the current stack (turn off stack mode)

Fields

§force: bool

Force deactivation without confirmation

§

Show

Show the current stack status

Fields

§verbose: bool

Show detailed pull request information

§mergeable: bool

Show mergability status for all PRs

§

Push

Push current commit to the top of the stack

Fields

§branch: Option<String>

Branch name for this commit

§message: Option<String>

Commit message (if creating a new commit)

§commit: Option<String>

Use specific commit hash instead of HEAD

§since: Option<String>

Push commits since this reference (e.g., HEAD~3)

§commits: Option<String>

Push multiple specific commits (comma-separated)

§squash: Option<usize>

Squash unpushed commits before pushing (optional: specify count)

§squash_since: Option<String>

Squash all commits since this reference (e.g., HEAD~5)

§auto_branch: bool

Auto-create feature branch when pushing from base branch

§allow_base_branch: bool

Allow pushing commits from base branch (not recommended)

§dry_run: bool

Show what would be pushed without actually pushing

§

Pop

Pop the top commit from the stack

Fields

§keep_branch: bool

Keep the branch (don’t delete it)

§

Submit

Submit a stack entry for review

Fields

§entry: Option<usize>

Stack entry number (1-based, defaults to all unsubmitted)

§title: Option<String>

Pull request title

§description: Option<String>

Pull request description

§range: Option<String>

Submit range of entries (e.g., “1-3” or “2,4,6”)

§draft: bool

Create draft pull requests (default: true, use –no-draft to create ready PRs)

§open: bool

Open the PR(s) in your default browser after submission (default: true, use –no-open to disable)

§

Status

Check status of all pull requests in a stack

Fields

§name: Option<String>

Name of the stack (defaults to active stack)

§

Prs

List all pull requests for the repository

Fields

§state: Option<String>

Filter by state (open, merged, declined)

§verbose: bool

Show detailed information

§

Check

Check stack status with remote repository (read-only)

Fields

§force: bool

Force check even if there are issues

§

Sync

Sync stack with remote repository (pull + rebase + cleanup)

Fields

§force: bool

Force sync even if there are conflicts

§cleanup: bool

Also cleanup merged branches after sync

§interactive: bool

Interactive mode for conflict resolution

§

Rebase

Rebase stack on updated base branch

Fields

§interactive: bool

Interactive rebase

§onto: Option<String>

Target base branch (defaults to stack’s base branch)

§strategy: Option<RebaseStrategyArg>

Rebase strategy to use

§

ContinueRebase

Continue an in-progress rebase after resolving conflicts

§

AbortRebase

Abort an in-progress rebase

§

RebaseStatus

Show rebase status and conflict resolution guidance

§

Delete

Delete a stack

Fields

§name: String

Name of the stack to delete

§force: bool

Force deletion without confirmation

§

Validate

Validate stack integrity and handle branch modifications

Checks that stack branches match their expected commit hashes. Detects when branches have been manually modified (extra commits added).

Available –fix modes: • incorporate: Update stack entry to include extra commits • split: Create new stack entry for extra commits
• reset: Remove extra commits (DESTRUCTIVE - loses work)

Without –fix, runs interactively asking for each modification.

Fields

§name: Option<String>

Name of the stack (defaults to active stack)

§fix: Option<String>

Auto-fix mode: incorporate, split, or reset

§

Land

Land (merge) approved stack entries

Fields

§entry: Option<usize>

Stack entry number to land (1-based index, optional)

§force: bool

Force land even with blocking issues (dangerous)

§dry_run: bool

Dry run - show what would be landed without doing it

§auto: bool

Use server-side validation (safer, checks approvals/builds)

§wait_for_builds: bool

Wait for builds to complete before merging

§strategy: Option<MergeStrategyArg>

Merge strategy to use

§build_timeout: u64

Maximum time to wait for builds (seconds)

§

AutoLand

Auto-land all ready PRs (shorthand for land –auto)

Fields

§force: bool

Force land even with blocking issues (dangerous)

§dry_run: bool

Dry run - show what would be landed without doing it

§wait_for_builds: bool

Wait for builds to complete before merging

§strategy: Option<MergeStrategyArg>

Merge strategy to use

§build_timeout: u64

Maximum time to wait for builds (seconds)

§

ListPrs

List pull requests from Bitbucket

Fields

§state: Option<String>

Filter by state (open, merged, declined)

§verbose: bool

Show detailed information

§

ContinueLand

Continue an in-progress land operation after resolving conflicts

§

AbortLand

Abort an in-progress land operation

§

LandStatus

Show status of in-progress land operation

§

Cleanup

Clean up merged and stale branches

Fields

§dry_run: bool

Show what would be cleaned up without actually deleting

§force: bool

Skip confirmation prompts

§include_stale: bool

Include stale branches in cleanup

§stale_days: u32

Age threshold for stale branches (days)

§cleanup_remote: bool

Also cleanup remote tracking branches

§include_non_stack: bool

Include non-stack branches in cleanup

§verbose: bool

Show detailed information about cleanup candidates

§

Repair

Repair data consistency issues in stack metadata

Trait Implementations§

Source§

impl Debug for StackAction

Source§

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

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

impl FromArgMatches for StackAction

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for StackAction

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

Source§

type Output = T

Should always be Self
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> 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<T> ErasedDestructor for T
where T: 'static,