openerp-community team mailing list archive
-
openerp-community team
-
Mailing list archive
-
Message #01912
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