mirror of
https://github.com/thegeeklab/git-sv.git
synced 2024-11-10 02:10:38 +00:00
73 lines
1.9 KiB
Go
73 lines
1.9 KiB
Go
package sv
|
|
|
|
// ==== Message ====
|
|
|
|
// CommitMessageConfig config a commit message.
|
|
type CommitMessageConfig struct {
|
|
Types []string `yaml:"types"`
|
|
Scope CommitMessageScopeConfig `yaml:"scope"`
|
|
Footer map[string]CommitMessageFooterConfig `yaml:"footer"`
|
|
Issue CommitMessageIssueConfig `yaml:"issue"`
|
|
}
|
|
|
|
// IssueFooterConfig config for issue.
|
|
func (c CommitMessageConfig) IssueFooterConfig() CommitMessageFooterConfig {
|
|
if v, exists := c.Footer[issueMetadataKey]; exists {
|
|
return v
|
|
}
|
|
return CommitMessageFooterConfig{}
|
|
}
|
|
|
|
// CommitMessageScopeConfig config scope preferences.
|
|
type CommitMessageScopeConfig struct {
|
|
Values []string `yaml:"values"`
|
|
}
|
|
|
|
// CommitMessageFooterConfig config footer metadata.
|
|
type CommitMessageFooterConfig struct {
|
|
Key string `yaml:"key"`
|
|
KeySynonyms []string `yaml:"key-synonyms"`
|
|
UseHash bool `yaml:"use-hash"`
|
|
AddValuePrefix string `yaml:"add-value-prefix"`
|
|
}
|
|
|
|
// CommitMessageIssueConfig issue preferences.
|
|
type CommitMessageIssueConfig struct {
|
|
Regex string `yaml:"regex"`
|
|
}
|
|
|
|
// ==== Branches ====
|
|
|
|
// BranchesConfig branches preferences.
|
|
type BranchesConfig struct {
|
|
PrefixRegex string `yaml:"prefix"`
|
|
SuffixRegex string `yaml:"suffix"`
|
|
DisableIssue bool `yaml:"disable-issue"`
|
|
Skip []string `yaml:"skip"`
|
|
SkipDetached *bool `yaml:"skip-detached"`
|
|
}
|
|
|
|
// ==== Versioning ====
|
|
|
|
// VersioningConfig versioning preferences.
|
|
type VersioningConfig struct {
|
|
UpdateMajor []string `yaml:"update-major"`
|
|
UpdateMinor []string `yaml:"update-minor"`
|
|
UpdatePatch []string `yaml:"update-patch"`
|
|
IgnoreUnknown bool `yaml:"ignore-unknown"`
|
|
}
|
|
|
|
// ==== Tag ====
|
|
|
|
// TagConfig tag preferences.
|
|
type TagConfig struct {
|
|
Pattern string `yaml:"pattern"`
|
|
}
|
|
|
|
// ==== Release Notes ====
|
|
|
|
// ReleaseNotesConfig release notes preferences.
|
|
type ReleaseNotesConfig struct {
|
|
Headers map[string]string `yaml:"headers"`
|
|
}
|