[Develop] trunk and branches - the new (old) deal

will willg at bluesock.org
Thu Dec 13 11:20:02 EST 2007


Hrm....  I agree with a lot of what you're saying, but I think we don't 
have enough people working on the project to manage a more complex workflow.

So...  say we don't go with reverting the workflow to "trunk is for the 
next release", how do we get to 1.1 from here?


Nick Nassar wrote:
> As someone working on what would go into a "big change" branch, I have a
> big problem with your proposal.
> 
> As I understand it, your proposal basically comes down to moving the 1.x
> "stable" branch to trunk and moving major new features go into their own
> branches.  Instead of doing this, I think we should go with your other
> suggestions of adding support for building nightlies from multiple
> branches to our scripts, better documentation, and writing scripts to
> automate translation work.
> 
> 
> I think we still need an "unstable" branch that contains all of the new
> features.  I don't want to split the trunk branch into lots of different
> unstable branches.
> 
> I'm working on major UI changes that will be too unstable to include in
> trunk for a long time, will need some testing early on and lots of
> testing towards the end of their development, and integrate closely with
> other "big change" branches.
> 
> Your proposal will make life easier for the 1.x releases in the short
> term but make adding new features more difficult.
> 
> Going through each of the problems you have with the current system.
> 
> Merging. Your proposal creates more merging problems for experimental
> branches.  We'll have to periodically merge in changes from stable, then
> make a giant merge once our experimental branch is done.  Then, all the
> other people working on experiemental branches will need to merge that
> giant merge into their experiemental branch. So, what would have been
> lots of little merges will turn into several large non-trivial merges.
> It also means that stable will get blasted with large changes all at
> once.
> 
> Translations. With your new proposal, experimental branches just don't
> get translated.  That means if there's an i18n problem, I don't know
> about it until my code has been merged into the stable branch. That's
> worth the trouble of uploading two sets of translations to launchpad
> instead of one. If time spent uploading translations is a problem, one
> of us should just write a script to automate it.  If a string in one
> branch is translated, launchpad is smart enouogh to suggest that same
> string for the other branch, so this won't cost ours translators too
> much time either.
> 
> Repository Complexity. I don't think your proposal makes things less
> confusing for contributors.  It's a common convention that trunk is
> "unstable" and stable versions are kept in branches. Also, having
> separate branches for each features makes it difficult for people who
> want to test or develop these new features. They have to know what
> branch their feature is in.
> 
> Testing and nightly builds. I want people to start testing my new
> features before they're stable enough for the general public, and I want
> them to be tested with other major features so we catch unexpected
> interactions early. Your proposal makes that impossible.  If having a
> "stable" nightly and an "unstable" nightly is causing trouble or
> confusing, one of us should spend the time to fix it.
> 
> What does everyone else think?
> 
> Nick


More information about the Develop mailing list