[IPython-dev] Tweaking the IPython development workflow

Barry Wark barrywark@gmail....
Fri Nov 14 16:26:58 CST 2008

On Fri, Nov 14, 2008 at 1:51 PM, Brian Granger <ellisonbg.net@gmail.com> wrote:
> 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?

All of this makes great sense. The proposal/work in progress iteration
seems like a great feature. One comment: do we have any method for
assigning code reviews? By default, I suspect that you and Fernando
and Min will be listed for many of the ipython1-related stuff (I
listed you for the frontend branch merge, for example), but I know you
all are busy. How about merge proposals also get an email to the list,
requesting volunteers to do the review?

In that vein, my lp:~barrywark/ipython/frontend branch is in need of
review. It fixes the test code for the frontend package so that it
plays correctly with trial/nose for all tests using Deferreds. Since
I'm just learning Twisted's ins and outs, I'd appreciate someone
running some eyes over the testing code. Any volunteers?


> Cheers,
> Brian
> _______________________________________________
> IPython-dev mailing list
> IPython-dev@scipy.org
> http://lists.ipython.scipy.org/mailman/listinfo/ipython-dev

More information about the IPython-dev mailing list