Whole tree up to date before committing

Nicholas Allen nick.allen at onlinehome.de
Thu Oct 22 22:11:37 BST 2009


> It is implicit on my previous message that bazaar's policy is the ideal
> one, but subversion's is a tradeoff.
>   

>
>> Wouldn't it make sense for those developers to work in their own
>> branches and only merge that to trunk when their branch is considered
>> complete?
>>     
>
> No. Most of the commits are not large features, but small bug fixes and
> additions. 
This is not a problem if you do each bug fix and addition in a separate
branch of its own.
> If you accumulate several small changes on your private
> branch, 
I'm not suggesting this.
> you are adding complexity for when those are merged into
> trunk. For instance: if some change breaks the build on a platform other
> than the developer's, 
The gatekeeper should ensure that everything builds on all platform so
this is not possible.
> this may be not detected until several hours
> later, if the changes are incorporated in batches to trunk, as the
> buildbots must test every revision.
>   
The buildbots in this case would be the gatekeeper. The gatekeeper would
schedule bulids and testing on all platforms. I was not thinking of a
human gatekeeper but a robotic one.
>   
> It is one layer of quality control: first the developer, then the
> buildbots, etc. BTW, doing a bzr-style commit on Linux/x86_64/gcc does
> not guarantee that the build does not break on Windows/x86/VS, for
> instance.
>
>   
The developer can commit to his private branches as he likes. When he
thinks a bug is fixed or an addition is ready then he asks the
gatekeeper to merge to trunk and the gatekeeper would ensure that
everything built and passed tests on all platforms.
> And how do you ensure that they revised the merged changes before
> committing them?
>   
If the gatekeeper is strict enough (eg bulids and passes tests on all
platforms) then you don't need to.
>   
> Although some projects with a strong and committed leader succesfully
> follows that policy, most can't afford that luxury: gatekeepers need to
> have high availability, be experts on their responsibility area, have
> communication skills, have several of them in case someone catches the
> flu, etc. and, finally, you are devoting highly skilled developers to
> doing "office work" which delays the project's progress. This poses a
> problem on its own and is no solution for bazaar's self-imposed
> limitation.
>
>   
Like I said - I was thinking of an automatic gatekeeper and not a human one.

Cheers,

Nick




More information about the bazaar mailing list