rflow
is a Command Line Interface (CLI) tool designed to facilitate the management of release branches in software development projects. Using the Release Flow branching strategy. It simplifies creating release, major release, and fix branches, as well as tagging releases in a Git repository.
You can also install rflow
using Homebrew, a package manager for macOS (and Linux) without worrying about dependencies:
brew tap tonylook/rflow
brew install rflow
Before installing rflow
, ensure you have Python and Git installed on your system. rflow
is developed and tested primarily on Python 3.
git clone https://github.com/tonylook/rflow.git
cd rflow
It's recommended to use a virtual environment to manage the dependencies.
python -m venv venv
.\venv\Scripts\activate
source venv/bin/activate
Clone the repository and install the required dependencies:
pip install -r requirements.txt
To run the tests, use the following command:
pytest tests/
Ensure you have pytest
and pytest-mock
installed in your environment.
For detailed instructions on how to use rflow
, please refer to the MANUAL.md file in this repository. It provides comprehensive guidance on utilizing all the features of rflow
.
For detailed instructions on how to automatize versioning with rflow
, please refer to the DEVOPS.md file in this repository. It explains how to prepare your project for a fully automated versioning experience.
Here's a list of known issues we're currently working on in rflow
. We appreciate your understanding and patience as we work towards resolving them.
- Description: Currently, the
rflow tag
command cannot be used on the main/master branch due to complications in managing automatic versioning for this type of action. - Impact: This limitation affects the ability to tag releases directly from the main/master branch, which might be a part of some users' standard workflows.
- Status: I'm actively investigating ways to address this issue and hope to provide a solution in future updates. In the meantime, use the
rflow tag
command (as also compliant with Release Flow) on release branches for tagging releases.
I encourage users to report any other issues they encounter on our GitHub issues page to help me continue improving rflow
.