On 23 August 2011 07:46, Paul Sokolovsky paul.sokolovsky@linaro.org wrote:
Hello,
Some time passed since last update on Gerrit deployment, that's because work on complete AOSP mirroring to out tree took longer than expected. All in all, following was done:
Revamped branching in our toolchain/* components, freed room for upstream branches, mirrored them.
Mirrored AOSP kernel components. That was something I was putting off until latest, knowing that it would bring enough burden, like increasing storage space, increasing sync time, etc. Until last I wasn't sure if they should mirrored, but something which turned scale is recent talk about possibility to provide image for consumer phones from Google (for which we may want to hack kernels as provided by AOSP). Other point was just having complete AOSP mirror, and writing that question off forever, freeing space for other work. So, I proceeded with doing it, which soon led to OutOfMemory in Gerrit, so it's probably good that it got uncovered during deployment, than later. Thanks to IS, memory and Gerrit size were increased, and kernel imports finished successfully.
That means that we have complete mirror of upstream AOSP tree, and out tree is a proper superset of AOSP. The only workitem left is setting up automated upstream syncing via cron (so far I've been doing this manually), and we have nice tree set up with upstream at our fingertips (without having availability issues during builds, etc.), and at the same time, have all freedom to do any stuff on top of it (branching, tagging, etc.)
I also updated Linaro Gerrit howto: https://wiki.linaro.org/Platform/Android/Gerrit , which now should have all info to have one started quickly with Gerrit, and cover all aspects of Gerrit setup (like upstream mirroring and permission settings). I'd appreciate review of that and letting me know if something is missing there.
This looks really good. Please share this with the repo mailing list. Your great work has really helped other people trying to set up their own Gerrit instances.
Finally few points we can continue with to elaborate our usage of Gerrit:
- Set up branch policy (naming, etc.) and enforce it on Gerrit level.
This may require revamping branching in other toolchain/* components (upstreamed not from AOSP), but in the end we'll get really robust development setup.
Agreed. One big thing that we need to work on is how we're going to handle kernel upgrades - I think some special branch-naming may be part of this solution.
- Turn off review bypass option which was available during transition
process. I guess Android team if comfortable by now with new process (there're more than 80 patches passed thru review by now!), so once 11.08 release is out, it would be good time to do that.
+1 for most. I think the only thing we have to watch out for is kernel maintainers needing to push big updates out-of-band.
-- Best Regards, Paul
Linaro.org | Open source software for ARM SoCs Follow Linaro: http://www.facebook.com/pages/Linaro http://twitter.com/#%21/linaroorg - http://www.linaro.org/linaro-blog