- master - the stable version used in productive environments. It is the latest release version which is tested and, to our knowledge, bug-free.
- develop - here the latest development branches are joined when they are finished. At a release the develop branch is merged into the master branch.
The branches in which the work (in progress) is happening have following prefixes:
- feature_ - e.g. feature_user_profile_images
- fix_ - e.g. fix_map_bug
When work on these branches is finished they are merged into the develop branch. Around once a month a new version is released where the develop branch is merged into the master branch.
When working on a new feature it's a good workflow to begin from the develop branch and merge it regularly to keep merge conflicts to a minimum.
If there are database changes make sure that
- there is a comment with the issue number at the SQL update script (e.g. at install/upgrade/3.12.0.sql)
- that the issue is noted at util/changelog.py
That way it's easier to deal with updates in the develop branch when dealing with multiple new features which need database updates.