// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: BUSL-1.1 package git import ( "context" "fmt" "strings" ) // EmptyCommit are supported empty commit handling options type EmptyCommit = string const ( EmptyCommitDrop EmptyCommit = "drop" EmptyCommitKeep EmptyCommit = "keep" EmptyCommitStop EmptyCommit = "stop" ) // CherryPickOpts are the git cherry-pick flags and arguments // See: https://git-scm.com/docs/git-cherry-pick type CherryPickOpts struct { // Options AllowEmpty bool // --allow-empty AllowEmptyMessage bool // --allow-empty-message Empty EmptyCommit // --empty= FF bool // --ff GPGSign bool // --gpgsign GPGSignKeyID string // --gpgsign= Mainline string // --mainline NoReReReAutoupdate bool // --no-rerere-autoupdate Record bool // -x ReReReAutoupdate bool // --rerere-autoupdate Signoff bool // --signoff Strategy MergeStrategy // --strategy StrategyOptions []MergeStrategyOption // --strategy-option=