Skip to content

DevelopmentCycle

João Almeida edited this page Aug 3, 2020 · 1 revision

This document is only for developers. If you're not one of them, you can stop read it.

Branches

At the moment there are two branches:

  • master: this will be the more stable branch. Bug fixing should be always pull requested to master.
  • dev: contains the new features

Bug fixing

Final: Pull request to master

New features

Pull request to another branch (in this case, dev )

What happens in normal periods?

dev should be synchronised with master. All the developer are allowed to do:

git fetch origin
git checkout dev
git pull origin dev
git pull origin master
git push origin dev

What happens after a release?

For each release, a tag should be performed in master. For pushing tags, you can execute:

git push origin master --tags

Keep branch sync with the remote repository (destroy your local changes)

git reset --hard origin/master # Replace master by your branch 

Branch naming conventions

After some consideration, we decided to implement naming conventions in the branchs being created (since it was getting incredibly harder to pick names)

We decided to implement a scheme similar to the one refered here http://stackoverflow.com/a/6065944

Each branch name is composed of the following

category/name

The possible categories are listed below.

Category Description
bug Bug fixing
imp Improvement on already existing features
new New features being added
wip Works in progress - Big features that take long to implement and will probably hang there
junk Throwaway branch created to experimentation

The name should be concise, and directly represent what the branch solves.

Some examples:

bug/issue234

bug/fixeditdb

new/statistics

junk/tryingboostrap3