On Sat, 2 Jul 2011 11:59:04 -0400, servilio <servilio@gmail.com> wrote: > What about having Carl do the merging of features into a develop > branch[1], then the release manager prepares a release in a release > branch, merging back and tagging into master when release is ready? A > similar workflow could be followed for bugfix releases (branch to > bugfix/release branch, prepare, merge back to master, tag). We could also call the develop branch "master" and use something like "release" for the branch that contains the release history. This is is technically quite close to option #2, but perhaps conceptually clearer (and throwing in Tom's tagging idea). 0.7-pre 0.8-pre 0.9-pre -----.+--------------.+-------------.+------------- master \ / / --------. | / \ / 0.7 / +m------+-----+m--------+ release 0.6 0.7.1 0.8 One difference in this version is that a merge from master onto release (and convenience tagging of master) occurs only when we are ready to release. If a bug fix release is desired, it can be done by committing/cherry-picking on release. d