Gaia/UX Branch: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
mNo edit summary
Line 83: Line 83:
* Issue pull request to `gordonbrander/ux`.
* 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 bug 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'''.
* '''Changing JavaScript''' or working on any non-trivial commit? Go through the normal submission channels first. Issue a pull request from your bug 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'''.
* please add `fixedinux` in the bugzilla whiteboard for tracking


== Timeline ==
== Timeline ==

Revision as of 19:32, 16 November 2012

V1 UX Branch

Background:

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.

How:

  • Primary: get bugs flagged blocking+ and dev assigned.
  • Secondary: for bugs that do not qualify as blocking+, prioritize and build on UX branch, then apply to merge to main branch.

High level process for UX branch:

  1. Identify bugs
  2. Patryk + Steve triage to nom as blocking+, and prioritize the non-blockers.
  3. Submit patches for prioritized patches
  4. QA test
  5. Pull request once weekly

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 the local copy of your fork:

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

While you're at it, add mozilla-b2g as the upstream to your local copy, if you haven't already:

   git remote add upstream https://github.com/mozilla-b2g/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 fetch gordonbrander
   git merge gordonbrander/ux

How to do Development

Ok, now that you have gordonbrander and upstream set up as remotes to your local copy, here's how you use them.

All your development should be done in feature branches. Let's create one now. Start by checkout out master. Always branch from master, not from ux branch.

   git checkout master

Update master to the latest from mozilla-b2g/gaia:

   git fetch upstream
   git merge upstream/master

Create your branch. It's best to name the branch after the bug.

   git branch bug-777077
   git checkout bug-777077

...hack, hack, hack... ok! Done! Now you'll want to push your new branch to your fork.

   git push -u origin bug-777077

Next, you'll want to issue a pull request to my UX branch. Copy/paste the link below, and change "yourusername:bug-777077" to your github username and your actual branch name. Then hit enter!

https://github.com/gordonbrander/gaia/pull/new/gordonbrander:ux...yourusername:bug-777077

The pull request screen should load up with all the correct settings. Click "send pull request".

That's it! I'll review your pull request, then fast-track it in.

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 bug-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 > bug-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 bug 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.
  • please add `fixedinux` in the bugzilla whiteboard for tracking

Timeline