DMD needs branches

Lionello Lunesu lio at lunesu.remove.com
Fri Apr 13 03:21:50 PDT 2007


torhu wrote:
> Lionello Lunesu wrote:
>> torhu wrote:
>>> The problem wouldn't go away, but it would be greatly reduced.  The 
>>> serious new bugs in 1.011 were discovered almost immediately after 
>>> the release.  Wouldn't it be better if 1.011 was marked as a beta, 
>>> and not unleashed on the general public until the core D user 
>>> community had at least verified that their apps and libs build with it?
>>
>> How's a post in D.announce "unleashing it on the general public"??
> 
> The point is that there the announcements and the version numbering is 
> exactly the same for all versions, nothing is marked as being stable or 
> unstable.
> 
> Look at this page and tell me which versions are stable and which are 
> not.  The only way to judge a version's stability is by looking at the 
> changelog of the succeeding version, and how soon after it was released. 
>  No other clues are given.
> http://www.digitalmars.com/d/changelog.html

But "stable" and "beta" are relative terms. For some people 1.011 solved 
their problems so for them 1.011 might be the only stable version.

>> I'd say: if it ain't broke, don't 'fix' it. Meaning that if you have a 
>> D that works for you, don't upgrade? And if you want to play with new 
>> stuff, you upgrade.
> 
> This would be fine if only a single person were to compile any given app 
> or library.  And if all apps/libs that each user has would build with 
> the same version.  I have currently eleven dmd versions installed, but I 
> wouldn't want users of my libs to need to switch versions if that could 
> be avoided in any way.  To be fair, I only use one or two versions at a 
> time, the other are for compatibility testing, etc.

I think it's very normal to provide a "required compiler version" for 
any distributed source package. And this is nothing specific to D or 
DMD: even projects for Visual Studio required either 6.0 or 2002 or 2003 
or 2005 or 2005 SP1. Granted, this list doesn't change on a week-to-week 
basis, but the idea is the same: the users of the sources must know what 
compiler the sources have been tested with.

Of course, as somebody mentioned, you get into a deadlock if you want to 
use two libraries but one library only compiles with DMD 1.007 and the 
other needs 1.011. But even then, you can compile with different 
compilers and just link the stuff together.

I like the idea of branching, but it does the merging/backporting of 
patches involves quite some overhead, possibly too much for a one-man 
project like DMD.

L.



More information about the Digitalmars-d mailing list