Skip to content

Developer Forks

kcunney edited this page Jul 26, 2012 · 12 revisions

Branches

The project repository has 2 developer branches 'master' and 'next' branches. There is also a 'gh_pages' which is only used for doxygen api-docs.

'master' branch

This contains the latest stable release of the software that has been released.

'next' branch

This contains the next version of the branch we are working towards. This is the branch you will work of of.

Developer Fork setup

To develop on a issue/feature in a given milestone you must first setup your local fork. Here are the steps to create your development environment from our 'next' branch for developement on the next release milestone:

  1. Create your own developer fork. Use the Fork button on the github website.

  2. Checkout the 'next' branch: git checkout next

  3. Add 'upstream' remote: git remote add upstream https://github.com/blackberry/GamePlay.git

Pull'ing from 'upstream'

To pull adhoc changes from the main blackberry/Gameplay 'next' branch into your developer fork: git pull upstream next

Submitting changes (Pull Requests)

All submitted changes should be from your fork'ed next branch. Use the Pull Request page from the website to make a request to take you request changes into the blackberry/GamePlay 'next' branch.

Patching

If a major issue is found after the release is published to master. All changes need to be completed in developer forks on the 'master' branch. Once accepted and integrated as a patch. The change will also be pull by the integrator the 'next' branch and merged if required in next.

If you've made a commit into your 'next' already, but believe it is a change that should be patched into the 'master' you should cherry pick that commit into the 'master' branch on your own developer fork. Here you should perform testing on the change before making a pull request into 'master'. To perform a cherry pick, you can do the following:

git checkout master git cherry-pick [commit identifier]

Note: Before running the cherry-pick command you should ensure that there are no modifications to the HEAD commit on your master branch.

Tagging

Tags will only be made on the 'master' branch only after a stabilization period has passed and therefore include any required patches that were applied.

Clone this wiki locally