Separate gaia components for public reuse and encourage the community contribution.
'repo' command use a default.xml to organize multiple gits separately from origin git.
get all gits from public repositories:$ mkdir gaiaexp && cd gaiaexp
$ repo init -u https://github.com/gasolin/gaia-repo.git
$ repo sync
'repo' command clone and update all gits defined in default.xml.
<project remote="gaia" revision="refs/heads/v1.2.0" name="gaia-shared" path="shared"/>
$ git clone https://github.com/gasolin/gaia.git
$ cd gaia && git checkout -b master origin/gaia-exp
https://github.com/gasolin/gaia-shared-style.git style$ git clone https://github.com/gasolin/gaia-shared-style-unstable.git style-unstable
$ repo sync
The repo sync command will recursively fetch and update gits to current versoin.
$ git remote update && git merge upstream/master
$ cd shared/style
$ (update and merge)
$ cd shared/style-unstable
$ (update and merge)
add git master branch$ git checkout --track -b master gaia/gaia-exp
add b2g upstream repository$ git remote add upstream https://github.com/mozilla-b2g/gaia.git
then...
we need explicitly add a branch before checkin code or push back to github. Since 'repo' checks out the revision on a detached head, which "git branch" reports as "(no branch)"