← Back to team overview

openerp-community team mailing list archive

bzr workflow suggestion: DaggyFeatures

 

I'd like to propose a workflow enhancement related to bzr branching and new feature development. A problem with the way bzr stores history makes it difficult to cherry-pick changes [1]. This is really a problem when backporting bugfixes or new features.

A sited solution in the bug case is DaggyFixes[2]. Basically, the idea is when making a bugfix, branch from the revision that introduced the error, instead of whatever the head of trunk happens to be at the moment. This has the advantage of making it clear by looking at the branch graph which revisions have the bug, where it started, and where it was fixed. More importantly, it means that the bugfix branch can be merged into any other branch which might have indirectly inherited the bug without resorting to cherry-picking.

I'd like to propose a similar workflow for new features. Here's a particular problem it would solve: I'm deploying 7.0, and my business can't do without check writing. The account_check_writing module in 7.0 and 6.1 is hardly useful. Fortunately, a much better check writing module has been written in lp:~openerp-dev/openobject-addons/trunk-account_check_writing_jam. However, it was branched from trunk, and includes several revisions that merge yet more changes from trunk. Now if I merge this into my branch of 7.0, I also get a bunch of unrelated changes from trunk I don't want. I can exclude them with cherry-picks, but then the branch history gets all goofed up and bzr merges do weird things.

Since this branch doesn't change anything outside the account_check_writing module, and it doesn't actually depend on any functionality not released in 7.0, it's an ideal candidate for this workflow. Had this feature branch been made from the point where 7.0 diverged from trunk, then it could cleanly be merged into trunk, and also into 7.0 for people who want to expressly backport it to their local configurations.

Thoughts?

[1] http://wiki.bazaar.canonical.com/CherryPick
[2] http://monotone.ca/wiki/DaggyFixes/


Follow ups