When there are commits but no tags, then insert those commits under
the unreleased section of the change log output. This requires get
an updated CHANGELOG.md.tpl file. Includig the template footer to
account for the unreleased line there that used .Versions.
resolves#76
BREAKING CHANGE:
* No longer throw the error "no tags" when:
* No tag query entered
* There are commits to tag
* Requires an update to the changelog template
* cherry-pick from delmendo
* add tests, docs, and lift hermetic restriction
* remove duplicate funcs that are now provided by sprig
* switch func load order to allow built-ins precedence
* Update chglog.go
Co-authored-by: Dirk Elmendorf <dirk@r26d.com>
When attempting to render a commit body below the summary line of the
commit there are two problems:
1) The text needs to be indented two spaces to appear as part of the
list.
2) Notes (e.g. BREAKING CHANGE) are included in the body and end up
being repeating in a Notes section (if this is part of your template).
To address #1 add an `indent` func to the template parsing.
To address #2 add a `TrimmedBody` to the `Commit` fields.
The `TrimmedBody` will include everything in `Body` but not any
`Ref`s, `Note`s, `Mention`s, `CoAuthors`, or `Signers`.
Both the CoAuthors and Signers are now first class in the Commit
struct.
With both of these a template block like:
```
{{ if .TrimmedBody -}}
{{ indent .TrimmedBody 2 }}
{{ end -}}
```
Will render the trimmed down body section as intended.
See TestGeneratorWithTimmedBody for example of desired output.