On 2012-03-07, at 6:01 AM, Chad wrote:
My main worry is that we are not spending enough time on getting all engineers (both internal and in the community) up to speed with the coming migration to Git and Gerrit and that we are going to blame the tools (Gerrit and/or Git) instead of the complex interaction between three changes. We are making three fundamental changes in one-shot:
- Migrating from a centralized source control system to a
decentralized system (SVN -> Git) 2) Introducing a new dedicated code-review tool (Gerrit) 3) Introducing a gated-trunk model
These are big changes. They're drastic changes. They require a rethinking of a great many things that we do from both technical and non-technical perspectives. Unfortunately, I don't see how we could've done #1 without #2. CodeReview is not designed (and was never designed) to work with a DVCS. The workflow's just not there, and it would've basically required rewriting huge parts of it. Rather than reinvent the wheel (again), we went with Gerrit.
Arguably, we could've gone a straight push and skipped item #3. But given the continual code review backlog, and the desire to keep trunk stable (and hopefully deploy much more often), the decision to gate trunk was made pretty early on in the discussions.
I understand that we want to do all 3 of those changes, my point was merely to make it very in explicit what we are changing and that the biggest change, IMHO, is the introduction of 3). It seems that most of the discussion is focusing on the tools (that's also how this thread started) while I think the discussion should focus on mastering the new workflow and what we can do to make sure that we have the right tutorials & training available to make this migration as gentle as possible. I am confident that we will master the new tools, but a new workflow requires new habits and that might take more time to develop.