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:
1) 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.