state

package
v0.1.0-rc.3 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 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"`
	// 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"`
}

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