Versions in this module Expand all Collapse all v0 v0.17.15 May 11, 2026 v0.17.14 May 11, 2026 Changes in this version + func ValidateSourceBranch(eng BranchValidationEngine, branchName, operation string) error + func ValidateTargetBranch(eng BranchValidationEngine, sourceName, targetName, operation string) error + type BranchValidationEngine interface + AllBranches func() []engine.Branch + CurrentBranch func() *engine.Branch + GetBranch func(branchName string) engine.Branch + ValidateOnBranch func() (string, error) + type Chain []Validator + func AbsorbChain(ctx context.Context, eng BranchValidationEngine, g git.Runner, ...) Chain + func GitOperationChain(ctx context.Context, eng BranchValidationEngine, g git.Runner, ...) Chain + func ModifyBranchChain(eng BranchValidationEngine, operation string) Chain + func (c Chain) Validate() error + type Validator interface + Validate func() error + func BranchMustBeModifiable(eng BranchValidationEngine, branchName string) Validator + func BranchMustBeTracked(eng BranchValidationEngine, branchName string) Validator + func BranchMustExist(g git.Runner, branchName string) Validator + func BranchMustNotBeTrunk(eng BranchValidationEngine, branchName string) Validator + func CurrentBranchMustBeModifiable(eng BranchValidationEngine) Validator + func CurrentBranchMustBeTracked(eng BranchValidationEngine) Validator + func CurrentBranchMustNotBeTrunk(eng BranchValidationEngine, operation string) Validator + func MustBeOnBranch(eng BranchValidationEngine) Validator + func MustHaveStagedChanges(ctx context.Context, g git.Runner) Validator + func MustNotHaveRebaseInProgress(ctx context.Context, g git.Runner) Validator + func MustNotHaveUncommittedChanges(ctx context.Context, g git.Runner) Validator + func SourceBranchMustBeValid(eng BranchValidationEngine, branchName, operation string) Validator + func TargetBranchMustBeValid(eng BranchValidationEngine, sourceName, targetName, operation string) Validator + type ValidatorFunc func() error + func (f ValidatorFunc) Validate() error