state

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 14, 2026 License: BlueOak-1.0.0 Imports: 4 Imported by: 0

Documentation

Overview

internal/state/state.go

Index

Constants

View Source
const (
	OperationCascade = "cascade"
	OperationSubmit  = "submit"
)

Operation types for cascade state.

Variables

View Source
var ErrNoState = errors.New("no cascade in progress")

ErrNoState is returned when no cascade state exists.

Functions

func Exists

func Exists(gitDir string) bool

Exists checks if a cascade is in progress.

func Remove

func Remove(gitDir string) error

Remove deletes the cascade state file.

func Save

func Save(gitDir string, s *CascadeState) error

Save persists cascade state to .git/STACK_CASCADE_STATE.

Types

type CascadeState

type CascadeState struct {
	Current      string   `json:"current"`
	Pending      []string `json:"pending"`
	OriginalHead string   `json:"original_head"`
	// Operation is "cascade" or "submit" - determines what happens after cascade completes
	Operation string `json:"operation,omitempty"`
	// UpdateOnly (submit only) - if true, don't create new PRs, only update existing
	UpdateOnly bool `json:"update_only,omitempty"`
	// Web (submit only) - if true, open PRs in browser after creation/update
	Web bool `json:"web,omitempty"`
	// PushOnly (submit only) - if true, skip PR creation/update phase entirely
	PushOnly bool `json:"push_only,omitempty"`
	// Branches (submit only) - the complete list of branches being submitted.
	// Used to rebuild the full set for push/PR phases after cascade completes.
	Branches []string `json:"branches,omitempty"`
	// StashRef is the commit hash of auto-stashed changes (if any).
	// Used to restore working tree changes when operation completes or is aborted.
	StashRef string `json:"stash_ref,omitempty"`
}

CascadeState represents the state of an in-progress cascade or submit operation.

func Load

func Load(gitDir string) (*CascadeState, error)

Load reads cascade state from .git/STACK_CASCADE_STATE.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL