Linaro Android Gerrit

The instructions here are specific to Linaro Android development -- for generic instructions on working with Linaro's Gerrit setup, please look at Platform/Systems/Gerrit.

android.git.linaro.org

android.git.linaro.org contains a complete, nightly synced, mirror of the public AOSP development tree. Any changes pushed to branches not named linaro-* will be overwritten on the next sync. Any such changes will be lost permanently, there is no way to recover them. It is never a good idea to push changes to AOSP trees on android.git.linaro.org in non-linaro branches.

Some repositories on android.git.linaro.org -- such as device/linaro/* or platform/prebuilts/gcc/*/*/*-linaro -- are unique to Linaro and not synced with AOSP. Pushing to non-Linaro branches in those is ok.

A special repository: android-patchsets

In addition to linaro-* branches in git repositories, we can apply patches through scripts in the android-patchsets repository. Those scripts are meant to apply patches that have been submitted to (upstream) Gerrit, but not yet accepted, and to cherry-pick patches that have been accepted on master, but need to be pulled into builds based on a released version. This is particularly useful when tracking the upstreaming status - the patchset scripts always provide a complete list of changes going in, and points out when a patch needs to be revised because it conflicts with other changes that have been applied upstream.

Submitting a change to android-patchsets to gerrit automatically triggers a test build to make sure everything still compiles after pulling in the patches.

The following commands can be used in patchset scripts:

apply <tree> <patch id>

Applies patch <patch id> to the tree <tree> -- e.g. apply packages/apps/Browser 118963/1 applies revision 1 of the patch submitted upstream with ID 118963 to the packages/apps/Browser directory (details on the patch can be found by going to the gerrit link with its ID -- in this example, https://android-review.googlesource.com/#/c/118963). Additionally, --linaro can be passed to the apply script to pull a submission from Linaro's gerrit rather than AOSP's. --server <server> can be passed to pull a submission from a third party gerrit, e.g. to pull in a patch submitted to Cyanogenmod, you can use apply --server http://review.cyanogenmod.org/ bionic 32348/1.

cherrypick <tree> <commit-id>

Cherry-picks commit <commit-id> to <tree> -- for example, to fix Java detection on various Linux distributions (a patch that has been accepted upstream in master, but not on the 5.x branches) in a 5.x based build, you can use cherrypick build 311384fec340a7f2f76ca7f45599987df4341d5b

Platform/Android/Gerrit (last modified 2015-04-16 14:29:13)