Documentation
¶
Index ¶
- func Backmerge(cfg config.FlowConfig) (int, map[string]any)
- func Cleanup(cfg config.FlowConfig) (int, map[string]any)
- func EnsureGitFlowReady(cfg config.FlowConfig) (bool, string)
- func FastRelease(cfg config.FlowConfig, featureName string) (int, map[string]any)
- func FinishCurrent(cfg config.FlowConfig, name string, opts ...FinishOptions) (int, map[string]any)
- func InitGitFlow(cfg config.FlowConfig) (bool, string)
- func ListSwitchableBranches(allLocal []string, cfg config.FlowConfig, current string) []string
- func PrintReleaseNotes(meta map[string]any)
- func Pull(cfg config.FlowConfig) (int, map[string]any)
- func Push(cfg config.FlowConfig, target string) (int, map[string]any)
- func SmartStashPop(branch string) bool
- func SmartStashSave(branch string) bool
- func StartBranch(cfg config.FlowConfig, branchType, name string) (int, map[string]any)
- func StartBugfix(cfg config.FlowConfig, name string) error
- func StartFeature(cfg config.FlowConfig, name string) error
- func StartHotfix(cfg config.FlowConfig, ver string) error
- func StartRelease(cfg config.FlowConfig, ver string) error
- func Sync(cfg config.FlowConfig) (int, map[string]any)
- func WriteReleaseNotes(cfg config.FlowConfig, fromTag string) map[string]any
- type FinishOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EnsureGitFlowReady ¶
func EnsureGitFlowReady(cfg config.FlowConfig) (bool, string)
func FastRelease ¶
FastRelease merges a feature/bugfix branch directly to main, bypassing the release/ staging phase. Useful for small, self-contained changes that are ready for production without a batched release.
Flow:
- Invariant check (main must not be ahead of develop)
- Merge feature → main (--no-ff)
- Tag main with the current version
- Merge feature → develop (back-merge, keeps develop consistent)
- Delete the feature branch (local; remote via tryDeleteRemote)
- Return to develop
func FinishCurrent ¶
func FinishCurrent(cfg config.FlowConfig, name string, opts ...FinishOptions) (int, map[string]any)
FinishCurrent finishes the current (or named) flow branch. Pass an optional FinishOptions to enable rebase-first, squash, or remote deletion.
func InitGitFlow ¶
func InitGitFlow(cfg config.FlowConfig) (bool, string)
func ListSwitchableBranches ¶
func ListSwitchableBranches(allLocal []string, cfg config.FlowConfig, current string) []string
func PrintReleaseNotes ¶
func SmartStashPop ¶
func SmartStashSave ¶
func StartBranch ¶
func StartBugfix ¶
func StartBugfix(cfg config.FlowConfig, name string) error
func StartFeature ¶
func StartFeature(cfg config.FlowConfig, name string) error
func StartHotfix ¶
func StartHotfix(cfg config.FlowConfig, ver string) error
func StartRelease ¶
func StartRelease(cfg config.FlowConfig, ver string) error
func WriteReleaseNotes ¶
func WriteReleaseNotes(cfg config.FlowConfig, fromTag string) map[string]any
Types ¶
type FinishOptions ¶
type FinishOptions struct {
Rebase bool // rebase the branch onto develop before the final merge
Squash bool // squash all branch commits into a single commit on develop
DeleteRemote bool // push-delete the remote tracking branch after a successful finish
}
FinishOptions controls optional pre-merge transformations for feature/bugfix finishes.
Click to show internal directories.
Click to hide internal directories.