Change from tla to bzr

Szalay Attila sasa at balabit.hu
Thu May 25 18:10:24 BST 2006


Hi All,

We use tla as the main vcs in our development. But we have reached some
bottleneck and because of it we have decided to switch (partially) to
other vcs.

I am trying bazaar-ng as an alternative and I have realised that there
are some features that I not found in bzr.

But before I could ask the questions, I have to describe our branching
(and merging) policy. (When I try to convert our tla archive to bzr
archive there were 960 branches)

We have a branch called mainline and every  developer has his/her own.
When a developer fix a bug or implement a new feature in his own branch
a tester try it and accept it or not. If accept it the patch (or
patches) will be cherrypicked to mainline. After some time every other
developer synchronise his/her own branch to mainline to pick up other
developers patches.

But in this synchronisation  process there were a trick. First we tried
star-merge but this allways failed because of the cherrypicking. So we
chose using apply-delta. But because of this a lot of patch (every patch
that was not merged to mainline) fall out from the working tree (because
it's pachlog were deleted) and we have to "merge" it (with replay)
again. But that was good, because in this situation, the conflict (if
there were any) was in the little patches what the developer do and
he/she knows better than any other developer.
This method give us an another good thing. The possibility to fix
something in a previous patch. I try to explain this:

The developer have done 3 patches to a.c This patches do orthogonal
things (for example add 3 new function to it). After a while I try the
first patch, but there are problems with it. The developer easily fix it
in his/her 4. patch but I cannot pick his/her 1. and 4. patches because
the 4. patch depends (for example) the second. So I try the second but
that fail too. In the end there maybe 10 or more patches to fix 4 (or
more) bug, and I can only merge it together and this is raises problems.


So the question is:

How can I synchronise my developer branch to mainline when in mainline
there is patches from other branches and cherrypicked patches from my
branch with as small conflicts as possible? And it's maybe an extra if I
can "upgrade" my patches somehow in this process.

-- 
Szalay Attila                     BalaBit IT Biztonságtechnikai Kft.
tel:(36-1)-371-05-40              1116 Bp. Csurgoi ut 20/b
fax:(36-1)-208-08-75              http://www.balabit.hu/

ui.: Sorry for my English, If something is not clean, please ask it.




More information about the bazaar mailing list