Whole tree up to date before committing

Óscar Fuentes ofv at wanadoo.es
Fri Oct 23 14:56:17 BST 2009


Nicholas Allen <nick.allen at onlinehome.de> writes:

[snip]

Instead of answering to all you guys trying to explain once again why is
not a good idea to replace our current workflow with a gatekeeper or a
PQM, I'll expose what I think could be a solution.

We need that every developer test its changes before sending them to
trunk (the builbots would fail way too often otherwise, apart from
making havoc among those who would update their working copies to a
broken state) and we need to enforce this policy by means of exposing a
credible method for supervising it.

One possible solution is to use one branch per developer on the central
location (where the master branch resides). A developer tests his
changes, merges from `master' and pushes to his personal central
branch. Then, automatically, this branch pushes to `master'.

       merge                      push
master -----> joe's local branch ------> joe's central branch
  ^                                               |
  |_______________________________________________|
                         push

This way every time a developer pushes to his personal central branch,
there is one or more revisions for his tested changes, and maybe a final
revision that carries the merge with the `master' branch immediately
before he pushed. So we know what he tested (or ought to test) and what
was not tested.

There is plenty of room for collisions here, and dealing with them adds
quite a bit of complexity, but collisions would not happen too often,
because we would dealing with timeframes of typically much less than a
minute.

-- 
Óscar




More information about the bazaar mailing list