← Back to team overview

openstack team mailing list archive

Re: Nova subsystem branches and feature branches

 

On Fri, 2012-05-11 at 13:40 -0700, James E. Blair wrote:
> Mark McLoughlin <markmc@xxxxxxxxxx> writes:
> 
> > Hey,
> >
> > So, one thing came really stuck out to me when comparing our process to
> > the kernel process:
> >
> >   In the kernel process, maintainers are responsible for running 
> >   'git-merge' and they see it as their job to resolve conflicts.
> >
> >   In our process, Jenkins runs 'git-merge' and runs away screaming at 
> >   the first sign of conflict.
> 
> Gerrit is what is responsible for merging commits, not Jenkins.  Jenkins
> is listed as the author of some merge commits because it has instructed
> Gerrit to merge those changes.

Ok, my mistake.

> Gerrit fast-forwards branches when it is able, and automatically merges
> when it is unable to fast-forward.  Every merge commit you see in the
> history that is made by Jenkins represents a rebase that _did not_ have
> to be done by a human.  As you may have noted, it's quite a lot
> actually.  Ultimately, I think it represents a large savings in human
> work.

Hmm, the issue isn't about the conflict-less merges. It's about who
handles conflicts.

If the workflow was for gerrit to do the conflict-less merges, but for
maintainers to handle conflicts then that could work.

> > The kernel developers I talked to see this as the biggest hindrance to
> > scaling and are fairly incredulous we've managed to scale this far with
> > it.
> 
> I might agree with them if I had only read your description above.

Heh :)

The issue noted was about who handles conflicts, not Gerrit vs Jenkins
doing the merges or fast-forwarding when you can.

> Keep in mind that the Kernel has something like six times the rate of
> change and number of contributors as all of OpenStack.

Nova is a large project. It's development process is hitting scaling
pains. In all our discussions, we've been quick to turn to the kernel
development process for ideas because we know it has scaled. But now you
want to dismiss their experience because they're bigger?

> The Android Open Source Project also uses Gerrit and it too is quite a
> bit larger than we are.

I know nothing about Android, so I'm genuinely interested - they have a
single repo which has more contributors and higher commit rate than
Nova?

> Vish, Thierry, and I spent some time together this week at UDS trying to
> reconcile their needs and your suggestions.  I believe Thierry is going
> to write that up and send it to the list soon.

Great, looking forward to it.

Cheers,
Mark.



References