[IPython-dev] Tweaking the IPython development workflow
Fri Nov 14 16:26:58 CST 2008
On Fri, Nov 14, 2008 at 1:51 PM, Brian Granger <firstname.lastname@example.org> 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:
> 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?
> IPython-dev mailing list
More information about the IPython-dev