Breaking D2 language/spec changes with D1 being discontinued in a month

foobar foo at bar.com
Thu Nov 29 02:35:02 PST 2012


On Thursday, 29 November 2012 at 09:37:57 UTC, Manu wrote:
> On 29 November 2012 03:48, deadalnix <deadalnix at gmail.com> 
> wrote:
>
>> On Thursday, 29 November 2012 at 01:29:12 UTC, Jonathan M 
>> Davis wrote:
>>
>>> Since master will almost certainly be the development branch, 
>>> I don't see
>>> how
>>>
>>> that's a problem. The stable branch will be a separate 
>>> branch, and
>>> whoever is
>>> managing the stable branch will merge stuff from the master 
>>> branch into
>>> it.
>>>
>>>
>> In this case, all bug fixes are mixed with new feature and 
>> then have to be
>> separated afterward and remerged into the stable branch. This 
>> is useless
>> work and it is likely to cause merge conflict in the stable 
>> branch.
>>
>> Additionnaly, this become to really suck when several new 
>> features are dev
>> at the same time.
>>
>> Finally, yhis is completely inconsistent with how github work 
>> in the first
>> place.
>>
>> master make sense as an unstable branch, a release candidate, 
>> a beta or
>> whatever, but certainly not a dev branch.
>
>
> Why don't you document precisely what branches you think should 
> exist, and
> the working merge/rebase policies.
> I'm actually very curious to know.
>
>
>  Granted, major stuff like 64-bit Windows support and UDAs 
> should probably
>>> be
>>> introduced on branches separate from master, and it's still a 
>>> problem if
>>> they're not, but it won't affect the stable branch if they're 
>>> not.
>>>
>>>
>> It will become all bigfixes will be based on code that 
>> contains the new
>> feature.

Manu:
This was mentioned in the group numerous times before, here's one 
more time to increase awareness even more:
git flow - http://nvie.com/posts/a-successful-git-branching-model/
should be easily adapted for the D development process.

Walter:
a champion cannot solve this issue as this requires participation 
of all (core) developers. Otherwise we get a _lot_ of redundant 
after the fact maintenance work. The only way to succeed long 
term is to remove all single points of failures - the single 
master branch on the technical side, and a single decision making 
person (you) on the management side. It can only be possible if 
you agree to relinquish some control and allow other core 
developers to _fully_ participate. that includes - review/pull 
powers, managing their own branches, taking part in the decision 
making process as to what feature is mature enough to be 
"released" on the stable branch. No champion can do any of that 
as it requires your agreement and participation.
Until such changes happen and D becomes _a community process_ (as 
I see Andrei is rightfully pushing for) there is little chance of 
a bigger D success.

Also, just to touch the multiple compiler versions overhead you 
mentioned - The point of maintaining multiple branches is to 
_minimize_ such overhead, not increase it. This allows for easier 
management of features, a more gradual release process to prevent 
regressions and breakage on the release branch, it gives _more 
control_ and allows for scaling of management to more developers. 
more branches => less work for you.


More information about the Digitalmars-d mailing list