The Ushahidi Platform code repository located at GitHub comprises 3 main branches:

 

Commit Process:

  1. Core work takes place on the develop branch
  2. When develop is stable enough for release, we create a release branch
  3. At this point a freeze is in place for testing (unit/functional)
    1. No commits to be pushed to the release branch until after testing
  4. AFTER Testing: Bug Fixes can be submitted to the release branch
  5. It is important to note that as soon as a release branch is created all new work on the develop branch targets the 2.6 milestone and beyond (as per the above example). Any 2.5 milestone bugs 'can' be fixed in the release branch. Incomplete 2.5 milestone features should be moved to 2.6 as no new features will be incorporated at this stage.
  6. Release branch is merged with both master and develop
  7. Master branch is tagged with new version