I'm a solo freelance dev who also contributes to open source by maintaining projects on github. Unlike what most other projects follow (branch, merge and release), I follow a simple "tag and release" workflow.
For example, when the new code is ready & tested, I do the following:
- Increment the version number in
__init__.py
. - Create a source distribution package (
.tar.gz
) by runningsetup.py
. - Release it to PyPi and then finally tag the code to the version (such as "1.0.3", etc.).
For example, you can see the project cfgsaver, the latest tag is "1.0.2" which will be updated to "1.0.3" in the next version.
How can I improve the workflow by following a branch/merge/release cycle instead. Which process do you think is better and why?