Working on Android requires keeping track of changes across several trees, and when you are working on more than one thing at a time this adds up to tracking lots of commits in lots of trees.
The general scheme for Linaro Android development is AOSP and other Open Source + Linaro WG + Member Code = Android Linaro Evaluation Builds and we need to keep track of state and origin of all these components.
People who pull Android builds are always keen on having the latest and greatest - with known and tractable changes on top of a distro that contain the developer's special stuff.
In Linaro's case we'll have AOSP + WG output + Landing team output and we'll need to track each.
To track tree state some developers create manifests which explicitly name commit ids across all the sub gits, Some people use the same tag or branch name across all commits. Sometimes people focus on only a few sub gits and release manifests that have the same branch name across all subgits with the exception of the kernel for instance.
As a developer I want to mark commits in different subgits as belonging together so that the code review takes in the entire change.
As a developer (Release Manager?) I want to keep track of where the original manifest was from so that I can answer the question what version Android are you running and where did you get it?
As a Release Manager I want to keep track of the set of patches on top of the original sub gits in the repo so that I know what has been changed.
As a maintainer of the Linaro Android main branch (Generic Build) I want to know the origin of every commit so that I can avoid upstreaming contributions from individuals not covered by the Android Corporate Contributor License Grant.
Gerrit can control who gets to push and create branches. Could this be part of the solution?
Some way of communicating changes between the trees?
Making repo better or creating a better repo?
BoF agenda and discussion
Platform/Specs/11.11/ManagingCodeDifferences (last modified 2011-05-07 20:21:58)