ducks in a row

while i wait for my super-cool new development machine, i’ve been using one of our spare servers in uppsala, sweden. surprisingly, network lag hasn’t been an issue at all.

one of the routines i’ve been working out is how to use bitkeeper effectively to maintain trees for each of the bugs i’m working on. bitkeeper’s “branching” is quite a bit different from cvs. a branch is just a clone of another repository. so i have a pristine version of each mysql version in directories like mysql-4.1-clean, and a little shell function (which is just a wrapper around bk clone -l) that allows me to quickly create a new tree named something like mysql-4.1-7451. then i do what i need to do in that tree and create a changeset for the fix. when it is approved, i pull the changes from that tree (and other trees with approved bug fixes) into the -clean tree, push that to the main repository, and get rid of the bug-fixing trees.

this means that each bug fix is independent, and i can push any of them up the tree at any time. (bitkeeper doesn’t let you selectively push changesets from one repository to another.) i have seven bug-fix trees in my working directory right now with patches waiting to get approved.

only three bugs fixed today. i fixed another bug, but when running the fix by the man (because he happened to be around, and the fix just seemed way too easy to be true), he pointed out that it was already fixed in the 5.0 tree. in the same way. oops!

add a comment

sorry, comments on this post are closed.