Documentation
¶
Overview ¶
internal/state/state.go
Index ¶
Constants ¶
View Source
const ( OperationRestack = "restack" OperationSubmit = "submit" )
Operation types for restack state.
Variables ¶
View Source
var ErrNoState = errors.New("no restack in progress")
ErrNoState is returned when no restack state exists.
Functions ¶
func Save ¶
func Save(gitDir string, s *RestackState) error
Save persists restack state to .git/STACK_CASCADE_STATE.
Types ¶
type RestackState ¶ added in v0.6.3
type RestackState struct {
Current string `json:"current"`
Pending []string `json:"pending"`
OriginalHead string `json:"original_head"`
// Operation is "restack" or "submit" - determines what happens after restack 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 restack 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"`
// Worktrees maps branch names to linked worktree paths.
// Persisted so that continue/abort can find the correct worktree
// directory for branches that were being rebased in a linked worktree.
Worktrees map[string]string `json:"worktrees,omitempty"`
// UpdateRefs is the resolved --update-refs setting from the original
// invocation, persisted so that `continue` rebases remaining branches
// with the same setting after a conflict. False (zero value) means
// --no-update-refs was in effect, which is safe for old state files.
UpdateRefs bool `json:"update_refs,omitempty"`
}
RestackState represents the state of an in-progress restack or submit operation.
func Load ¶
func Load(gitDir string) (*RestackState, error)
Load reads restack state from .git/STACK_CASCADE_STATE.
Click to show internal directories.
Click to hide internal directories.