Branch based development (Was Re: [Twisted-Python] Re: [Twisted-commits] r16287 - Revert r16241; tests are passing.)

glyph at glyph at
Thu Mar 30 23:42:56 EST 2006

On Thu, 30 Mar 2006 22:20:12 +1000, Jonathan Lange <jml at> wrote:

>I presume that the way to fix many different bugs is to branch from
>trunk, fix first bug then wait for review. While waiting, branch again
>from trunk, fix second bug then wait for review and so on. If there is
>a better way, let me know.

It is perfectly acceptable to resolve multiple tickets with one review cycle.

If you are going to work for only a few hours, and close multiple tickets, the tickets are probably not big enough to each require their own branch, or their own individual review.  Feel free to reassign and resolve en-masse.

The only reason this practice is not already documented (and more strongly recommended) is that it isn't good to mix multiple tickets together in one branch or one patch if the reviewer is likely to agree with the code for resolving some tickets, but not others.  In some cases, this is unavoidable, because the same code needs to change for two issues; in still others, if the reviewer is unlikely to require major changes, and will be able to review all the changes in a reasonable amount of time, there's no particular reason not to bundle them together -- and convenience of limited-time development is a good reason *to* bundle them together.

Still - remember to write a descriptive commit message for each ticket being resolved when you merge to trunk :).

>As a side point, if we have switched to strict branch-based
>development, then we should document the procedure on the Twisted web
>site, not on the Divmod web site.

At the very least, there should be a link on the Twisted website, on a page explaining how we do development.

I think that "branch-based development" is a crummy name for this process, since it isn't very exciting and it's really about tickets, reviews, and changesets, not branches -- branches are an implementation detail to allow developers to continue to use the VCS as a file server.  I think I am going to change the name to "ultimate quality development system" and then we can abbreviate it "UQDS".

More information about the Twisted-Python mailing list