← Back to team overview

coapp-developers team mailing list archive

Re: Code reviews via Launchpad?

 

On 08/26/2010 10:53 PM, Rivera, Rafael wrote:
>  I noticed LP has code review capabilities built in. We should leverage
> that! But it seems tied into branch merging, so I guess we'll need to
> agree on some sort of branch structure, procedures, etc...
> 
> Anyone use this before?

Yes! We use it for Drizzle and libmemcached and the OpenStack projects.
It works exceedingly well.

The essential process is:

Branches trun.
Commits and push to location on launchpad (like lp:~mordred/coapp/foo)
Propose that branch for merging.
People do code review - eventually the branch is either approved,
rejected or gets set back to "work in progress"
If it's approved, either a person merges it in to trunk, or an automated
process.

It works _really_ well with an patch queue manager to run tests on
approved branches and then do the merges automatically. I'm currently
using a combination of tarmac and hudson to manage this process for Nova
and Swift projects in OpenStack:

http://wiki.openstack.org/LifeWithBzrAndLaunchpad
http://hudson.openstack.org

One of the nice parts about that is that all of your automated
hudson-style testing is done before push to trunk, so nothing makes it
in to trunk that's broken.

Tarmac uses the launchpad api, so it actually reports any test failures
right back in to the merge proposal. A good example of the reporting is
here:

https://code.edge.launchpad.net/~gundlach/nova/install-tools-pep8-fix/+merge/33002

We still do the merge queue manually for Drizzle, but I'm working on
getting that automated. (I have some hudson integration points I need to do)

You can browse stuff at:

https://code.launchpad.net/drizzle/+activereviews
https://code.launchpad.net/nova/+activereviews
https://code.launchpad.net/swift/+activereviews
https://code.launchpad.net//libmemcached/+activereviews

I would be happy to get or help get anything set up around this that
folks want.

Monty



References