Skip to content

Developer Forks

dgough edited this page Dec 18, 2012 · 12 revisions

Branches

The project repository has 2 developer branches, 'master' and 'next'. The 'gh_pages' branch is only used for doxygen api-docs.

'master' branch

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

'next' branch

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

Developer Fork setup

To develop on an issue or 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 development 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

Pulling 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 forked next branch. Use the Pull Request page from the website to make a request to pull your requested 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 be pulled by the integrator into 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