2021-03-25 14:22:43 +00:00
# How to Contribute
## Tools required
2021-02-23 21:04:57 +00:00
2021-02-24 02:56:12 +00:00
- Python 3.7.x or 3.8.x (3.8.x is highly recommended and 3.9 is proscribed).
2021-02-24 11:35:27 +00:00
- Pycharm or Visual Studio code IDE are recommanded but if you're happy with VIM, enjoy it!
2021-02-23 21:04:57 +00:00
- Git.
- UI testing must be done using Chrome latest version.
2021-03-25 14:22:43 +00:00
## Warning
2021-02-24 02:24:54 +00:00
As we're using Git in the development process, you better disable automatic update of Bazarr in UI or you may get your changes overwritten. Alternatively, you can completely disable the update module by running Bazarr with `--no-update` command line argument.
2021-03-25 14:22:43 +00:00
## Branching
### Basic rules
2021-02-23 21:13:01 +00:00
- `master` contains only stable releases (which have been merged to `master` ) and is intended for end-users.
2021-02-23 21:14:13 +00:00
- `development` is the target for integration and is not intended for end-users.
- `feature` is a temporary feature branch based on `development` .
2021-02-23 21:04:57 +00:00
2021-03-25 14:22:43 +00:00
### Conditions
2021-02-23 21:14:13 +00:00
- `master` is not merged back to `development` .
- `development` is not re-based on `master` .
- all `feature` branches branch from `development` only.
- Bugfixes created specifically for a feature branch are done there (because they are specific, they're not cherry-picked to `development` ).
2021-02-23 21:04:57 +00:00
- We will not release a patch (0.0.x) if a newer minor (0.x.0) has already been released.
2021-03-25 14:22:43 +00:00
## Typical contribution workflow
### Community devs
2021-02-23 21:04:57 +00:00
- Fork the repository or pull latest changes if you already have forked it.
2021-02-23 21:13:01 +00:00
- Checkout `development` branch.
2021-02-23 21:04:57 +00:00
- Make the desired changes.
2021-02-23 21:13:01 +00:00
- Submit a PR to Bazarr `development` branch.
2021-02-23 21:04:57 +00:00
- Once reviewed, your PR will be merged using Squash and Merge with a meaningful message.
2021-03-25 14:22:43 +00:00
### Official devs team
2021-02-23 21:04:57 +00:00
- All commits must have a meaningful commit message (ex.: Fixed issue with this, Improved process abc, Added input field to UI, etc.).
2021-02-23 21:13:01 +00:00
- Fixes can be made directly to `development` branch but keep in mind that a pre-release with a beta versioning will be created for every push you make.
- Features must be developed in dedicated feature branch and merged back to `development` branch using PR.
2021-02-23 21:04:57 +00:00
- Once reviewed, your PR will be merged using Squash and Merge with a meaningful message.