Gaia/UX Branch: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Etiquette: Added tutorial on squashing.)
(→‎Etiquette: Added link to github tutorial on rebase.)
Line 28: Line 28:
* Create a local branch for each bug: `git branch issue-xxxxx`.
* Create a local branch for each bug: `git branch issue-xxxxx`.
* Each commit message must start with the bug #: `Bug xxxxx - My Message`.
* Each commit message must start with the bug #: `Bug xxxxx - My Message`.
* Rebase changes in your bug branch before issuing a pull request to `gordonbrander/ux`. See http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html, http://git-scm.com/book/en/Git-Branching-Rebasing and http://gitready.com/intermediate/2009/01/31/intro-to-rebase.html. We should be merging one commit per fix so that fixes can be easily cherry-picked.
* Rebase changes in your bug branch before issuing a pull request to `gordonbrander/ux`. See https://help.github.com/articles/interactive-rebase. We should be merging one commit per fix so that fixes can be easily cherry-picked.
* Create a patch (diff file): `git diff > issue-xxxxx.diff`. Attach it to the bug.
* Create a patch (diff file): `git diff > issue-xxxxx.diff`. Attach it to the bug.
* Follow any code style guidelines.
* Follow any code style guidelines.

Revision as of 19:01, 8 November 2012

What/Why

As of Nov 8, it has been hard to get UX fixes into `mozilla-b2g/gaia` because engineers are trying hard to get stability up and bug counts down. UX improvements/fixes are difficult to get merged because the review process is focused first on blocking and broken issues.

As a temporary approach, we've set up a UX branch at https://github.com/gordonbrander/gaia/tree/ux to keep the needle moving forward on UX fixes. Engineering can cherry-pick fixes from this branch into master. The goal is to show a significant improvement in this branch and to get QA signing off on it.

Setting up the UX Branch

Sign into Github, fork http://github.com/mozilla-b2g/gaia (if you haven't already).

Add my repository as a remote to your fork:

   git remote add gordonbrander https://github.com/gordonbrander/gaia.git

Create a new local branch and set it up to track the remote branch:

   git checkout --track -b ux gordonbrander/ux

Getting upstream changes from `gordonbrander/ux`:

   git pull gordonbrander ux

Etiquette

We want to be model citizens when it comes to doing development.

  • File a bug for the issue. Describe it in detail.
  • Create a local branch for each bug: `git branch issue-xxxxx`.
  • Each commit message must start with the bug #: `Bug xxxxx - My Message`.
  • Rebase changes in your bug branch before issuing a pull request to `gordonbrander/ux`. See https://help.github.com/articles/interactive-rebase. We should be merging one commit per fix so that fixes can be easily cherry-picked.
  • Create a patch (diff file): `git diff > issue-xxxxx.diff`. Attach it to the bug.
  • Follow any code style guidelines.
  • Issue pull request to `gordonbrander/ux`.
  • Changing JavaScript or working on any non-trivial commit? Go through the normal submission channels first. Issue a pull request from your issue branch to mozilla-b2g/gaia, then also issue a pull request to gordonbrander/ux. Moral of the story: if you need it smoketested, pull request to mozilla-b2g/gaia.

Timeline