Versioning¶
This project uses bumpversion to manage the version strings related to
releases. The history.rst file should also be updated with the release
notes for each version.
To configure bumpversion edit the setup.cfg file. Running the
bumpversion command will run a git commit and git tag by default.
Also by default, the version is updated in the project’s __init__.py and
history.rst files.
Before running bumpversion, make sure all the changes are commited, and
run:
$ bump2version [major|minor|patch]
Examples:
$ cat setup.cfg | grep current_version
current_version = 0.1.0
$ bump2version patch
$ cat setup.cfg | grep current_version
current_version = 0.1.1
$ bump2version minor
$ cat setup.cfg | grep current_version
current_version = 0.2.0
$ bump2version minor
$ cat setup.cfg | grep current_version
current_version = 1.0.0
For more examples and configuration options see the bumpversion documentation.
Git Commit Messages¶
For the Git commit messages, it is recommend to use the Emoji-Log spec. Sample
.gitconfig configuration:
[alias]
# https://opensource.com/article/19/2/emoji-log-git-commit-messages
ac = "!f() { git add ${@:1:$(($# - 1))}; git commit -m \"${@:$#}\"; }; f"
new = "!f() { git ac ${@:1:$(($# - 1))} \"📦 New: ${@:$#}\"; }; f"
imp = "!f() { git ac ${@:1:$(($# - 1))} \"👌 Improve: ${@:$#}\"; }; f"
fix = "!f() { git ac ${@:1:$(($# - 1))} \"🐛 Fix: ${@:$#}\"; }; f"
rlz = "!f() { git ac ${@:1:$(($# - 1))} \"🚀 Release: ${@:$#}\"; }; f"
doc = "!f() { git ac ${@:1:$(($# - 1))} \"📖 Doc: ${@:$#}\"; }; f"
tst = "!f() { git ac ${@:1:$(($# - 1))} \"✅ Test: ${@:$#}\"; }; f"