flow

package
v0.6.5 Latest Latest
Warning

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

Go to latest
Published: May 4, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Backmerge

func Backmerge(cfg config.FlowConfig) (int, map[string]any)

func Cleanup

func Cleanup(cfg config.FlowConfig) (int, map[string]any)

func EnsureGitFlowReady

func EnsureGitFlowReady(cfg config.FlowConfig) (bool, string)

func FastRelease

func FastRelease(cfg config.FlowConfig, featureName string) (int, map[string]any)

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:

  1. Invariant check (main must not be ahead of develop)
  2. Merge feature → main (--no-ff)
  3. Tag main with the current version
  4. Merge feature → develop (back-merge, keeps develop consistent)
  5. Delete the feature branch (local; remote via tryDeleteRemote)
  6. 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 PrintReleaseNotes(meta map[string]any)

func Pull

func Pull(cfg config.FlowConfig) (int, map[string]any)

func Push

func Push(cfg config.FlowConfig, target string) (int, map[string]any)

func SmartStashPop

func SmartStashPop(branch string) bool

func SmartStashSave

func SmartStashSave(branch string) bool

func StartBranch

func StartBranch(cfg config.FlowConfig, branchType, name string) (int, map[string]any)

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 Sync

func Sync(cfg config.FlowConfig) (int, map[string]any)

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.

Jump to

Keyboard shortcuts

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