[IPython-dev] Tweaking the IPython development workflow

Brian Granger ellisonbg.net at gmail.com
Fri Nov 14 16:51:16 EST 2008


Hello all,

So, we have been using bzr and launchpad for IPython development for a
few months now, and overall, I think it has been a huge improvement
over svn.  I think it is encouraging more people to contribute to the
project, which is great.  At the same time, we have been trying to
move to a system where all changes are reviewed before they are merged
into the main branch (lp:ipython).

After talking to Fernando the other day about how our current model
has been working, I wanted to suggest that we make a few minor changes
to our workflow as it relates to code review and branch management.

Code review
==========

>From launchpad's perspective, a branch can be in one of three states:

1.  No current proposal to merge/code review exists for a branch
2.  A proposal to merge/code review exists.
3.  A proposal to merge exists, but it has been "disabled" by marking
it as "Work in Progress."  I only recently learning about this feature
in launchpad.  When you want to resubmit a branch for review, you
simply do "resubmit proposal", which takes it back to state 2.

One thing that is really nice is that this "work in progress/resubmit"
feature keeps track of all past merge proposals and their comments.

Currently, we have 8 branches with reviews requested:

https://code.launchpad.net/ipython/+activereviews

However, many of these branches are not actually ready for review.
This makes it very difficult for us to quickly see what reviews need
to be done.  So, here is what I propose:

*  If your branch is truly no longer needing a review, please delete
the proposal to merge.
*  If your branch is temporarily not needing review, please mark it as
"Work in Progress."  This will tell the rest of us that we don't have
to review it right now.
*  When your branch is truly ready for review please a) create a new
proposal to merge if none exist or b) resubmit it if it is marked
"work in progress"
*  After a review is complete and the branch is merged either a) mark
the branch as "work in progress" if the branch will eventually need
another review or b) mark the branch as merged to delete the proposal.

This should make it much easier for all of us to see what needs to be reviewed.

Branch cruft
=========

There are a number of branches that look inactive or dead.  If you
have a branch is truly dead could you remove the branch or at least
mark it as abandoned.  Thanks.

I think these things will make it easier for all of us to get things
done with launchpad.  Any thoughts?  Feedback?

Cheers,

Brian



More information about the IPython-dev mailing list