|
| 1 | +# gitolog |
| 2 | +Automatic changelog generator. From git logs to change logs. |
| 3 | + |
| 4 | +- Installation: `sudo pip3 install gitolog` |
| 5 | +- Features: |
| 6 | + - [Jinja2][jinja2] templates! |
| 7 | + You get full control over the rendering. |
| 8 | + Built-in [Keep a Changelog][keep-a-changelog] and [Angular][angular] templates |
| 9 | + (also see [Conventional Changelog][conventional-changelog]). |
| 10 | + - Commit styles/conventions parsing. |
| 11 | + Built-in [Angular][angular-style], [Atom][atom-style] and basic styles. |
| 12 | + - Git service/provider agnostic, |
| 13 | + plus references parsing (issues, commits, etc.). |
| 14 | + Built-in [GitHub][github-refs] and [Gitlab][gitlab-refs] support. |
| 15 | + - Understands [Semantic Versioning][semantic-versioning]: |
| 16 | + major/minor/patch for versions and commits. |
| 17 | + Guesses next version based on last commits. |
| 18 | +- Todo: |
| 19 | + - [Plugin architecture][issue-7], |
| 20 | + to support more commit styles and git services. |
| 21 | + - [Template context injection][issue-4], |
| 22 | + to furthermore customize how your changelog will be rendered. |
| 23 | + - [Easy access to "Breaking Changes"][issue-1] in the templates. |
| 24 | + - [Update changelog in-place][issue-2], paired with |
| 25 | + [commits/dates/versions range limitation ability][issue-3]. |
| 26 | + |
| 27 | +## Command-line |
| 28 | + |
| 29 | +```console |
| 30 | +$ gitolog --help |
| 31 | +usage: gitolog [-h] [-o OUTPUT] [-s {angular,atom,basic}] |
| 32 | + [-t {angular,keepachangelog}] [-v] |
| 33 | + REPOSITORY |
| 34 | + |
| 35 | +Command line tool for gitolog Python package. |
| 36 | + |
| 37 | +positional arguments: |
| 38 | + REPOSITORY The repository path, relative or absolute. |
| 39 | + |
| 40 | +optional arguments: |
| 41 | + -h, --help Show this help message and exit. |
| 42 | + -o OUTPUT, --output OUTPUT |
| 43 | + Output to given file. Default: stdout. |
| 44 | + -s {angular,atom,basic}, --style {angular,atom,basic} |
| 45 | + The commit style to match against. |
| 46 | + -t {angular,keepachangelog}, --template {angular,keepachangelog} |
| 47 | + The Jinja2 template to use. Prefix with "path:" to |
| 48 | + specify the path to a directory containing a file |
| 49 | + named "changelog.md". |
| 50 | + -v, --version Show the current version of the program and exit. |
| 51 | +``` |
| 52 | + |
| 53 | +[jinja2]: http://jinja.pocoo.org/ |
| 54 | +[keep-a-changelog]: http://keepachangelog.com/en/1.0.0/ |
| 55 | +[angular]: https://github.com/angular/angular/blob/master/CHANGELOG.md |
| 56 | +[conventional-changelog]: https://github.com/conventional-changelog/conventional-changelog |
| 57 | +[semantic-versioning]: http://semver.org/spec/v2.0.0.html |
| 58 | +[atom-style]: https://github.com/atom/atom/blob/master/CONTRIBUTING.md#git-commit-messages |
| 59 | +[angular-style]: https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit |
| 60 | +[github-refs]: https://help.github.com/articles/autolinked-references-and-urls/ |
| 61 | +[gitlab-refs]: https://docs.gitlab.com/ce/user/markdown.html#special-gitlab-references |
| 62 | + |
| 63 | +[issue-1]: https://gitlab.com/pawamoy/gitolog/issues/1 |
| 64 | +[issue-2]: https://gitlab.com/pawamoy/gitolog/issues/2 |
| 65 | +[issue-3]: https://gitlab.com/pawamoy/gitolog/issues/3 |
| 66 | +[issue-4]: https://gitlab.com/pawamoy/gitolog/issues/4 |
| 67 | +[issue-5]: https://gitlab.com/pawamoy/gitolog/issues/5 |
| 68 | +[issue-6]: https://gitlab.com/pawamoy/gitolog/issues/6 |
| 69 | +[issue-7]: https://gitlab.com/pawamoy/gitolog/issues/7 |
0 commit comments