[Development] Setting up time-based releases for the project

joao.abecasis at nokia.com joao.abecasis at nokia.com
Tue Aug 7 10:20:21 CEST 2012


Olivier Goffart wrote:
> On Monday 06 August 2012 21:22:27 joao.abecasis at nokia.com wrote:
> [...]
>> 
>> -+--------------------------+---------------------- fire-hose
>>   \                          \
>> -+-+------+--------+--------+-+------+--------+---- leaky-faucet
>>   \        \        \        \        \        \
>> -+-+------+-+------+-+------+-+------+-+------+-+-- dripping-bucket
>>   \        \        \        \        \        \
>>    5.0.1    5.0.2    5.1.0    5.1.1    5.1.2    5.2.0
> 
> 
> Let me try to draw that differently, and tell me if I understand it correctly:
> 
> 
> ---+--------------------------+---------------------- fire-hose
>     \                          \
> --+  +-----+--------+--------+  +-----+--------+---- leaky-faucet
>    \        \        \        \        \        \
> -+  +-----+  +-----+  +-----+  +-----+  +-----+  +- dripping-bucket
>   \        \        \        \        \        \
>    5.0.1    5.0.2    5.1.0    5.1.1    5.1.2    5.2.0
> 
> 
> The difference is that I removed what seems to be merges in your original. 
> There is actually no merges displayed on this graph, Just the branches. 
> The merges are hidden.

That shows how starting from fire-hose, changes accumulate through the
branches and finally make it into a release.

However, do note that the 3 branches are open at all times. There is nothing
preventing critical fixes from going into dripping-bucket after a release has
been made, but before leaky-faucet has been merged in. They are live (git)
branches, hence the additional dashes in between merges.

> But if we were to show the merge, it would go from bottom to down, right?
> Like this: (merges represented by /)
> 
> 
> ---+--------------------------+---------------------- fire-hose
>   / \  /   /   /  /  /  /  / / \  /  /  /  /  /  / 
> --+  +-----+--------+--------+  +-----+--------+---- leaky-faucet
>  / \  / / / \  / / / \ / /  / \  / / / \ /  / / \
> -+  +-----+  +-----+  +-----+  +-----+  +-----+  +- dripping-bucket
>   \        \        \        \        \        \
>    5.0.1    5.0.2    5.1.0    5.1.1    5.1.2    5.2.0
> 
> 
> Right?

Here you are adding the merges up that can happen at any time. Yes, this is a
good depiction of that. The caveat about the branches having a life in between
merges still applies. I didn't want to clutter the original graph with merges
up the branch hierarchy.

How about this, where I additionally fix the representation so that '-' still
stands for a unit of time and 0 or more non-merge commits, '+' stands for
the same unit of time including 1 merge commit from the branch above and zero
or more non-merge commits, '*' stands for 1 or more merge commits from the
branch below and 0 or more non-merge commits. '/' and '\' are merely
illustrative...

 -----*--*-*-**-**-*-*****-*-*---*----*--*****-*-**- fire-hose
   \ /  / / // // / ///// / / \ /    /  ///// / //  
 ---+--*-*------****-----*-*--*+-*---*-*---***-*---- leaky-faucet
   \  / / / \  ////  \  / /  /\ /   / /\  /// / \
 ---+--------+--------+--------+--------+--------+-- dripping-bucket
   \        \        \        \        \        \
    5.0.1    5.0.2    5.1.0    5.1.1    5.1.2    5.2.0

:-)


João




More information about the Development mailing list