Generate changelog from Git commits.
- Python 3.6, 3.7 and 3.8
Documentation is available on Read the Docs.
Latest stable version on PyPI:
pip install matyan
See Basic concepts section to get impression on possible commit methodology and assumptions taken.
Generate changelog:
generate-changelog
Generate changelog skipping orphaned commits:
In some cases you only want to show what has been done with tickets and skip all non-ticket related commits.
generate-changelog --no-other
Generate changelog between two releases:
In some cases you only want to show what has been done since last release. The following example would generate changelog since version 0.0.1 to version 0.0.3.
generate-changelog 0.0.1..0.0.3
Generate changelog between two branches:
In some cases you only want to show what has been done since last release. The following example would generate changelog since version 0.0.1 to version 0.0.3.
generate-changelog master..dev
Generate changelog with releases info shown
generate-changelog --show-releases
Generate changelog between releases with releases info shown
generate-changelog 0.0.1..0.0.3 --show-releases
Generate changelog between branches with releases info shown
generate-changelog master..dev --show-releases
Generate changelog for the latest release with releases info shown
generate-changelog --latest-release --show-releases
Generate changelog with headings only (no commit messages) and releases info shown
generate-changelog --headings-only --show-releases
In order to customize names and texts, add a .matyan.ini
in your project directory, form which you will be running the generate-changelog
command.
Sample configuration:
[BranchTypes]
feature: Feature
bugfix: Bugfix
hotfix: Hotfix
deprecation: Deprecation
[OtherBranchType]
other: Other
[Unreleased]
unreleased: Unreleased
[IgnoreCommits]
exact: more
clean up
code comments
more on docs
repo
working
more on
wip
commit
prefix: more on
continue on
generate-changelog --show-releases 2>&1 | tee changelog.md
matyan-make-config
Simply type:
./runtests.py
Or use tox:
tox
Or use tox to check specific env:
tox -e py36
Keep the following hierarchy.
=====
title
=====
header
======
sub-header
----------
sub-sub-header
~~~~~~~~~~~~~~
sub-sub-sub-header
^^^^^^^^^^^^^^^^^^
sub-sub-sub-sub-header
++++++++++++++++++++++
sub-sub-sub-sub-sub-header
**************************
GPL-2.0-only OR LGPL-2.1-or-later
For any issues contact me at the e-mail given in the Author section.
Artur Barseghyan <artur.barseghyan@gmail.com>
Contents:
index basic_concepts methodology changelog matyan
genindex
modindex
search