diff --git a/cmd/git-chglog/custom_template_builder.go b/cmd/git-chglog/custom_template_builder.go
index eba8aa11..04de5f97 100644
--- a/cmd/git-chglog/custom_template_builder.go
+++ b/cmd/git-chglog/custom_template_builder.go
@@ -12,7 +12,7 @@ func NewCustomTemplateBuilder() TemplateBuilder {
// Build ...
func (t *customTemplateBuilderImpl) Build(ans *Answer) (string, error) {
// versions
- tpl := "{{range .Versions}}\n"
+ tpl := "{{ range .Versions }}\n"
// version header
tpl += t.versionHeader(ans.Style, ans.Template)
@@ -34,7 +34,7 @@ func (t *customTemplateBuilderImpl) Build(ans *Answer) (string, error) {
tpl += t.notes()
// versions end
- tpl += "\n{{end}}"
+ tpl += "{{ end -}}"
return tpl, nil
}
@@ -42,30 +42,30 @@ func (t *customTemplateBuilderImpl) Build(ans *Answer) (string, error) {
func (*customTemplateBuilderImpl) versionHeader(style, template string) string {
var (
tpl string
- tagName = "{{.Tag.Name}}"
- date = "{{datetime \"2006-01-02\" .Tag.Date}}"
+ tagName = "{{ .Tag.Name }}"
+ date = "{{ datetime \"2006-01-02\" .Tag.Date }}"
)
// parts
switch style {
case styleGitHub, styleGitLab:
- tpl = "\n"
- tagName = "{{if .Tag.Previous}}[{{.Tag.Name}}]({{$.Info.RepositoryURL}}/compare/{{.Tag.Previous.Name}}...{{.Tag.Name}}){{else}}{{.Tag.Name}}{{end}}"
+ tpl = "\n"
+ tagName = "{{ if .Tag.Previous }}[{{ .Tag.Name }}]({{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}){{ else }}{{ .Tag.Name }}{{ end }}"
case styleBitbucket:
- tpl = "\n"
- tagName = "{{if .Tag.Previous}}[{{.Tag.Name}}]({{$.Info.RepositoryURL}}/compare/{{.Tag.Name}}..{{.Tag.Previous.Name}}){{else}}{{.Tag.Name}}{{end}}"
+ tpl = "\n"
+ tagName = "{{ if .Tag.Previous }}[{{ .Tag.Name }}]({{ $.Info.RepositoryURL }}/compare/{{ .Tag.Name }}..{{ .Tag.Previous.Name }}){{ else }}{{ .Tag.Name }}{{ end }}"
}
// format
switch template {
case tplStandard:
- tpl = fmt.Sprintf("%s## %s (%s)\n",
+ tpl = fmt.Sprintf("%s## %s (%s)\n\n",
tpl,
tagName,
date,
)
case tplCool:
- tpl = fmt.Sprintf("%s## %s\n\n> %s\n",
+ tpl = fmt.Sprintf("%s## %s\n\n> %s\n\n",
tpl,
tagName,
date,
@@ -83,33 +83,40 @@ func (*customTemplateBuilderImpl) commits(template, format string) string {
switch format {
case fmtSubject.Display:
- body = `{{range .Commits}}
-* {{.Header}}{{end}}
-`
+ body = `{{ range .Commits -}}
+* {{ .Header }}
+{{ end }}`
default:
if format == fmtTypeScopeSubject.Display {
- header = "{{if .Scope}}**{{.Scope}}:** {{end}}{{.Subject}}"
+ header = "{{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}"
} else {
- header = "{{.Subject}}"
+ header = "{{ .Subject }}"
}
- body = fmt.Sprintf(`### {{.Title}}
-{{range .Commits}}
-* %s{{end}}
-`, header)
+ body = fmt.Sprintf(`### {{ .Title }}
+
+{{ range .Commits -}}
+* %s
+{{ end }}`, header)
}
- return fmt.Sprintf(`{{range .CommitGroups}}
-%s{{end}}`, body)
+ return fmt.Sprintf(`{{ range .CommitGroups -}}
+%s
+{{ end -}}
+`, body)
}
func (*customTemplateBuilderImpl) reverts() string {
- return `{{if .RevertCommits}}
+ return `
+{{- if .RevertCommits -}}
### Reverts
-{{range .RevertCommits}}
-* {{.Revert.Header}}{{end}}
-{{end}}`
+
+{{ range .RevertCommits -}}
+* {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+`
}
func (t *customTemplateBuilderImpl) merges(style string) string {
@@ -124,18 +131,27 @@ func (t *customTemplateBuilderImpl) merges(style string) string {
title = "Merges"
}
- return fmt.Sprintf(`{{if .MergeCommits}}
+ return fmt.Sprintf(`
+{{- if .MergeCommits -}}
### %s
-{{range .MergeCommits}}
-* {{.Header}}{{end}}
-{{end}}`, title)
+
+{{ range .MergeCommits -}}
+* {{ .Header }}
+{{ end }}
+{{ end -}}
+`, title)
}
func (*customTemplateBuilderImpl) notes() string {
- return `{{range .NoteGroups}}
-### {{.Title}}
-{{range .Notes}}
-{{.Body}}
-{{end}}
-{{end}}`
+ return `
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+`
}
diff --git a/cmd/git-chglog/custom_template_builder_test.go b/cmd/git-chglog/custom_template_builder_test.go
index a6251800..f9bccf30 100644
--- a/cmd/git-chglog/custom_template_builder_test.go
+++ b/cmd/git-chglog/custom_template_builder_test.go
@@ -19,28 +19,44 @@ func TestCustomTemplateBuilderDefault(t *testing.T) {
})
assert.Nil(err)
- assert.Equal(`{{range .Versions}}
-
-## {{if .Tag.Previous}}[{{.Tag.Name}}]({{$.Info.RepositoryURL}}/compare/{{.Tag.Previous.Name}}...{{.Tag.Name}}){{else}}{{.Tag.Name}}{{end}} ({{datetime "2006-01-02" .Tag.Date}})
-{{range .CommitGroups}}
-### {{.Title}}
-{{range .Commits}}
-* {{if .Scope}}**{{.Scope}}:** {{end}}{{.Subject}}{{end}}
-{{end}}{{if .RevertCommits}}
+ assert.Equal(`{{ range .Versions }}
+
+## {{ if .Tag.Previous }}[{{ .Tag.Name }}]({{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}){{ else }}{{ .Tag.Name }}{{ end }} ({{ datetime "2006-01-02" .Tag.Date }})
+
+{{ range .CommitGroups -}}
+### {{ .Title }}
+
+{{ range .Commits -}}
+* {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end }}
+{{ end -}}
+
+{{- if .RevertCommits -}}
### Reverts
-{{range .RevertCommits}}
-* {{.Revert.Header}}{{end}}
-{{end}}{{if .MergeCommits}}
+
+{{ range .RevertCommits -}}
+* {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .MergeCommits -}}
### Pull Requests
-{{range .MergeCommits}}
-* {{.Header}}{{end}}
-{{end}}{{range .NoteGroups}}
-### {{.Title}}
-{{range .Notes}}
-{{.Body}}
-{{end}}
-{{end}}
-{{end}}`, out)
+
+{{ range .MergeCommits -}}
+* {{ .Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}`, out)
}
func TestCustomTemplateBuilderNone(t *testing.T) {
@@ -56,65 +72,43 @@ func TestCustomTemplateBuilderNone(t *testing.T) {
})
assert.Nil(err)
- assert.Equal(`{{range .Versions}}
-## {{.Tag.Name}} ({{datetime "2006-01-02" .Tag.Date}})
-{{range .CommitGroups}}
-### {{.Title}}
-{{range .Commits}}
-* {{if .Scope}}**{{.Scope}}:** {{end}}{{.Subject}}{{end}}
-{{end}}{{if .RevertCommits}}
+ assert.Equal(`{{ range .Versions }}
+## {{ .Tag.Name }} ({{ datetime "2006-01-02" .Tag.Date }})
+
+{{ range .CommitGroups -}}
+### {{ .Title }}
+
+{{ range .Commits -}}
+* {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end }}
+{{ end -}}
+
+{{- if .RevertCommits -}}
### Reverts
-{{range .RevertCommits}}
-* {{.Revert.Header}}{{end}}
-{{end}}{{if .MergeCommits}}
+
+{{ range .RevertCommits -}}
+* {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .MergeCommits -}}
### Merges
-{{range .MergeCommits}}
-* {{.Header}}{{end}}
-{{end}}{{range .NoteGroups}}
-### {{.Title}}
-{{range .Notes}}
-{{.Body}}
-{{end}}
-{{end}}
-{{end}}`, out)
-}
-func TestCustomTemplateBuilderCool(t *testing.T) {
- assert := assert.New(t)
- builder := NewCustomTemplateBuilder()
+{{ range .MergeCommits -}}
+* {{ .Header }}
+{{ end }}
+{{ end -}}
- out, err := builder.Build(&Answer{
- Style: styleNone,
- CommitMessageFormat: fmtTypeScopeSubject.Display,
- Template: tplCool,
- IncludeMerges: true,
- IncludeReverts: true,
- })
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
- assert.Nil(err)
- assert.Equal(`{{range .Versions}}
-## {{.Tag.Name}}
-
-> {{datetime "2006-01-02" .Tag.Date}}
-{{range .CommitGroups}}
-### {{.Title}}
-{{range .Commits}}
-* {{if .Scope}}**{{.Scope}}:** {{end}}{{.Subject}}{{end}}
-{{end}}{{if .RevertCommits}}
-### Reverts
-{{range .RevertCommits}}
-* {{.Revert.Header}}{{end}}
-{{end}}{{if .MergeCommits}}
-### Merges
-{{range .MergeCommits}}
-* {{.Header}}{{end}}
-{{end}}{{range .NoteGroups}}
-### {{.Title}}
-{{range .Notes}}
-{{.Body}}
-{{end}}
-{{end}}
-{{end}}`, out)
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}`, out)
}
func TestCustomTemplateBuilderSubjectOnly(t *testing.T) {
@@ -130,26 +124,41 @@ func TestCustomTemplateBuilderSubjectOnly(t *testing.T) {
})
assert.Nil(err)
- assert.Equal(`{{range .Versions}}
-## {{.Tag.Name}} ({{datetime "2006-01-02" .Tag.Date}})
-{{range .CommitGroups}}
-{{range .Commits}}
-* {{.Header}}{{end}}
-{{end}}{{if .RevertCommits}}
+ assert.Equal(`{{ range .Versions }}
+## {{ .Tag.Name }} ({{ datetime "2006-01-02" .Tag.Date }})
+
+{{ range .CommitGroups -}}
+{{ range .Commits -}}
+* {{ .Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .RevertCommits -}}
### Reverts
-{{range .RevertCommits}}
-* {{.Revert.Header}}{{end}}
-{{end}}{{if .MergeCommits}}
+
+{{ range .RevertCommits -}}
+* {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .MergeCommits -}}
### Merges
-{{range .MergeCommits}}
-* {{.Header}}{{end}}
-{{end}}{{range .NoteGroups}}
-### {{.Title}}
-{{range .Notes}}
-{{.Body}}
-{{end}}
-{{end}}
-{{end}}`, out)
+
+{{ range .MergeCommits -}}
+* {{ .Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}`, out)
}
func TestCustomTemplateBuilderSubject(t *testing.T) {
@@ -165,27 +174,43 @@ func TestCustomTemplateBuilderSubject(t *testing.T) {
})
assert.Nil(err)
- assert.Equal(`{{range .Versions}}
-## {{.Tag.Name}} ({{datetime "2006-01-02" .Tag.Date}})
-{{range .CommitGroups}}
-### {{.Title}}
-{{range .Commits}}
-* {{.Subject}}{{end}}
-{{end}}{{if .RevertCommits}}
+ assert.Equal(`{{ range .Versions }}
+## {{ .Tag.Name }} ({{ datetime "2006-01-02" .Tag.Date }})
+
+{{ range .CommitGroups -}}
+### {{ .Title }}
+
+{{ range .Commits -}}
+* {{ .Subject }}
+{{ end }}
+{{ end -}}
+
+{{- if .RevertCommits -}}
### Reverts
-{{range .RevertCommits}}
-* {{.Revert.Header}}{{end}}
-{{end}}{{if .MergeCommits}}
+
+{{ range .RevertCommits -}}
+* {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .MergeCommits -}}
### Merges
-{{range .MergeCommits}}
-* {{.Header}}{{end}}
-{{end}}{{range .NoteGroups}}
-### {{.Title}}
-{{range .Notes}}
-{{.Body}}
-{{end}}
-{{end}}
-{{end}}`, out)
+
+{{ range .MergeCommits -}}
+* {{ .Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}`, out)
}
func TestCustomTemplateBuilderIgnoreReverts(t *testing.T) {
@@ -201,23 +226,35 @@ func TestCustomTemplateBuilderIgnoreReverts(t *testing.T) {
})
assert.Nil(err)
- assert.Equal(`{{range .Versions}}
-## {{.Tag.Name}} ({{datetime "2006-01-02" .Tag.Date}})
-{{range .CommitGroups}}
-### {{.Title}}
-{{range .Commits}}
-* {{.Subject}}{{end}}
-{{end}}{{if .MergeCommits}}
+ assert.Equal(`{{ range .Versions }}
+## {{ .Tag.Name }} ({{ datetime "2006-01-02" .Tag.Date }})
+
+{{ range .CommitGroups -}}
+### {{ .Title }}
+
+{{ range .Commits -}}
+* {{ .Subject }}
+{{ end }}
+{{ end -}}
+
+{{- if .MergeCommits -}}
### Merges
-{{range .MergeCommits}}
-* {{.Header}}{{end}}
-{{end}}{{range .NoteGroups}}
-### {{.Title}}
-{{range .Notes}}
-{{.Body}}
-{{end}}
-{{end}}
-{{end}}`, out)
+
+{{ range .MergeCommits -}}
+* {{ .Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}`, out)
}
func TestCustomTemplateBuilderIgnoreMerges(t *testing.T) {
@@ -233,21 +270,87 @@ func TestCustomTemplateBuilderIgnoreMerges(t *testing.T) {
})
assert.Nil(err)
- assert.Equal(`{{range .Versions}}
-## {{.Tag.Name}} ({{datetime "2006-01-02" .Tag.Date}})
-{{range .CommitGroups}}
-### {{.Title}}
-{{range .Commits}}
-* {{.Subject}}{{end}}
-{{end}}{{if .RevertCommits}}
+ assert.Equal(`{{ range .Versions }}
+## {{ .Tag.Name }} ({{ datetime "2006-01-02" .Tag.Date }})
+
+{{ range .CommitGroups -}}
+### {{ .Title }}
+
+{{ range .Commits -}}
+* {{ .Subject }}
+{{ end }}
+{{ end -}}
+
+{{- if .RevertCommits -}}
### Reverts
-{{range .RevertCommits}}
-* {{.Revert.Header}}{{end}}
-{{end}}{{range .NoteGroups}}
-### {{.Title}}
-{{range .Notes}}
-{{.Body}}
-{{end}}
-{{end}}
-{{end}}`, out)
+
+{{ range .RevertCommits -}}
+* {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}`, out)
+}
+
+func TestCustomTemplateBuilderCool(t *testing.T) {
+ assert := assert.New(t)
+ builder := NewCustomTemplateBuilder()
+
+ out, err := builder.Build(&Answer{
+ Style: styleNone,
+ CommitMessageFormat: fmtTypeScopeSubject.Display,
+ Template: tplCool,
+ IncludeMerges: true,
+ IncludeReverts: true,
+ })
+
+ assert.Nil(err)
+ assert.Equal(`{{ range .Versions }}
+## {{ .Tag.Name }}
+
+> {{ datetime "2006-01-02" .Tag.Date }}
+
+{{ range .CommitGroups -}}
+### {{ .Title }}
+
+{{ range .Commits -}}
+* {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end }}
+{{ end -}}
+
+{{- if .RevertCommits -}}
+### Reverts
+
+{{ range .RevertCommits -}}
+* {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .MergeCommits -}}
+### Merges
+
+{{ range .MergeCommits -}}
+* {{ .Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}`, out)
}
diff --git a/cmd/git-chglog/kac_template_builder.go b/cmd/git-chglog/kac_template_builder.go
index 5c0e816e..785a29fa 100644
--- a/cmd/git-chglog/kac_template_builder.go
+++ b/cmd/git-chglog/kac_template_builder.go
@@ -12,7 +12,11 @@ func NewKACTemplateBuilder() TemplateBuilder {
// Build ...
func (t *kacTemplateBuilderImpl) Build(ans *Answer) (string, error) {
// versions
- tpl := "## {{if .Versions}}[Unreleased]{{end}}\n{{range .Versions}}\n"
+ tpl := `## {{ if .Versions }}[Unreleased]{{ end }}
+
+{{ range .Versions }}
+`
+
tpl += t.versionHeader(ans.Style)
// commits
@@ -32,7 +36,7 @@ func (t *kacTemplateBuilderImpl) Build(ans *Answer) (string, error) {
tpl += t.notes()
// versions end
- tpl += "{{end}}"
+ tpl += "{{ end -}}\n"
// footer (links)
tpl += t.footer(ans.Style)
@@ -42,16 +46,16 @@ func (t *kacTemplateBuilderImpl) Build(ans *Answer) (string, error) {
func (t *kacTemplateBuilderImpl) versionHeader(style string) string {
var (
- tagName = "{{.Tag.Name}}"
- date = "{{datetime \"2006-01-02\" .Tag.Date}}"
+ tagName = "{{ .Tag.Name }}"
+ date = "{{ datetime \"2006-01-02\" .Tag.Date }}"
)
switch style {
case styleGitHub, styleGitLab, styleBitbucket:
- tagName = "{{if .Tag.Previous}}[{{.Tag.Name}}]{{else}}{{.Tag.Name}}{{end}}"
+ tagName = "{{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }}"
}
- return fmt.Sprintf("## %s - %s", tagName, date)
+ return fmt.Sprintf("## %s - %s\n", tagName, date)
}
func (t *kacTemplateBuilderImpl) commits(format string) string {
@@ -61,24 +65,32 @@ func (t *kacTemplateBuilderImpl) commits(format string) string {
switch format {
case fmtSubject.Display:
- body = `{{range .Commits}}
-- {{.Header}}{{end}}`
+ body = `{{ range .Commits -}}
+- {{ .Header }}
+{{ end }}`
default:
- body = `### {{.Title}}{{range .Commits}}
-- {{if .Scope}}**{{.Scope}}:** {{end}}{{.Subject}}{{end}}`
+ body = `### {{ .Title }}
+{{ range .Commits -}}
+- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end }}`
}
- return fmt.Sprintf(`{{range .CommitGroups}}
+ return fmt.Sprintf(`{{ range .CommitGroups -}}
%s
-{{end}}`, body)
+{{ end -}}
+`, body)
}
func (t *kacTemplateBuilderImpl) reverts() string {
- return `{{if .RevertCommits}}
-### Reverts{{range .RevertCommits}}
-- {{.Revert.Header}}{{end}}
-{{end}}`
+ return `
+{{- if .RevertCommits -}}
+### Reverts
+{{ range .RevertCommits -}}
+- {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+`
}
func (t *kacTemplateBuilderImpl) merges(style string) string {
@@ -93,33 +105,51 @@ func (t *kacTemplateBuilderImpl) merges(style string) string {
title = "Merges"
}
- return fmt.Sprintf(`{{if .MergeCommits}}
-### %s{{range .MergeCommits}}
-- {{.Header}}{{end}}
-{{end}}`, title)
+ return fmt.Sprintf(`
+{{- if .MergeCommits -}}
+### %s
+{{ range .MergeCommits -}}
+- {{ .Header }}
+{{ end }}
+{{ end -}}
+`, title)
}
func (*kacTemplateBuilderImpl) notes() string {
- return `{{range .NoteGroups}}
-### {{.Title}}
-{{range .Notes}}
-{{.Body}}
-{{end}}
-{{end}}`
+ return `
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+`
}
func (*kacTemplateBuilderImpl) footer(style string) string {
switch style {
case styleGitHub, styleGitLab:
- return `{{if .Versions}}
-[Unreleased]: {{.Info.RepositoryURL}}/compare/{{$latest := index .Versions 0}}{{$latest.Tag.Name}}...HEAD{{range .Versions}}{{if .Tag.Previous}}
-[{{.Tag.Name}}]: {{$.Info.RepositoryURL}}/compare/{{.Tag.Previous.Name}}...{{.Tag.Name}}{{end}}{{end}}
-{{end}}`
+ return `
+{{- if .Versions }}
+[Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...HEAD
+{{ range .Versions -}}
+{{ if .Tag.Previous -}}
+[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
+{{ end -}}
+{{ end -}}
+{{ end -}}`
case styleBitbucket:
- return `{{if .Versions}}
-[Unreleased]: {{.Info.RepositoryURL}}/compare/HEAD..{{$latest := index .Versions 0}}{{$latest.Tag.Name}}{{range .Versions}}{{if .Tag.Previous}}
-[{{.Tag.Name}}]: {{$.Info.RepositoryURL}}/compare/{{.Tag.Name}}..{{.Tag.Previous.Name}}{{end}}{{end}}
-{{end}}`
+ return `
+{{- if .Versions }}
+[Unreleased]: {{ .Info.RepositoryURL }}/compare/HEAD..{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}
+{{ range .Versions -}}
+{{ if .Tag.Previous -}}
+[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Name }}..{{ .Tag.Previous.Name }}
+{{ end -}}
+{{ end -}}
+{{ end -}}`
default:
return ""
}
diff --git a/cmd/git-chglog/kac_template_builder_test.go b/cmd/git-chglog/kac_template_builder_test.go
index 2f46d53f..241f54e7 100644
--- a/cmd/git-chglog/kac_template_builder_test.go
+++ b/cmd/git-chglog/kac_template_builder_test.go
@@ -19,24 +19,47 @@ func TestKACTemplateBuilderDefault(t *testing.T) {
})
assert.Nil(err)
- assert.Equal(`## {{if .Versions}}[Unreleased]{{end}}
-{{range .Versions}}
-## {{if .Tag.Previous}}[{{.Tag.Name}}]{{else}}{{.Tag.Name}}{{end}} - {{datetime "2006-01-02" .Tag.Date}}{{range .CommitGroups}}
-### {{.Title}}{{range .Commits}}
-- {{if .Scope}}**{{.Scope}}:** {{end}}{{.Subject}}{{end}}
-{{end}}{{if .RevertCommits}}
-### Reverts{{range .RevertCommits}}
-- {{.Revert.Header}}{{end}}
-{{end}}{{if .MergeCommits}}
-### Pull Requests{{range .MergeCommits}}
-- {{.Header}}{{end}}
-{{end}}{{range .NoteGroups}}
-### {{.Title}}
-{{range .Notes}}
-{{.Body}}
-{{end}}
-{{end}}{{end}}{{if .Versions}}
-[Unreleased]: {{.Info.RepositoryURL}}/compare/{{$latest := index .Versions 0}}{{$latest.Tag.Name}}...HEAD{{range .Versions}}{{if .Tag.Previous}}
-[{{.Tag.Name}}]: {{$.Info.RepositoryURL}}/compare/{{.Tag.Previous.Name}}...{{.Tag.Name}}{{end}}{{end}}
-{{end}}`, out)
+ assert.Equal(`## {{ if .Versions }}[Unreleased]{{ end }}
+
+{{ range .Versions }}
+## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }}
+{{ range .CommitGroups -}}
+### {{ .Title }}
+{{ range .Commits -}}
+- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end }}
+{{ end -}}
+
+{{- if .RevertCommits -}}
+### Reverts
+{{ range .RevertCommits -}}
+- {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .MergeCommits -}}
+### Pull Requests
+{{ range .MergeCommits -}}
+- {{ .Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
+
+{{- if .Versions }}
+[Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...HEAD
+{{ range .Versions -}}
+{{ if .Tag.Previous -}}
+[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
+{{ end -}}
+{{ end -}}
+{{ end -}}`, out)
}