[crossfire] 2.0 release, was Re: Code restructuring

Mark Wedel mwedel at sonic.net
Sat Jul 22 03:01:02 CDT 2006


Alex Schultz wrote:
>
>>   But that can then lead to rapid turnover of major releases. Eg, I do major 
>> code restructure, make 3.0.0 release.  Then some other change is made (maybe 
>> compatibility breakage, maybe some other code restructure) - do you make a 4.0.0 
>> release 3 months later then?  I think there needs to be some minimum/maximum gap 
>> between major releases.
>>   
> This is true, however I can't see major code restructures working well
> as part of a minor release. What I see as ideal though, is if the trunk
> gets a few major features almost worthy of a major release, then a code
> restructure happens, and a release happens afterwards. Of course, timing
> may not work out so ideally, but perhaps it might be good for people to
> try to time their major code restructures to finish about just before
> when a major release is anticipated.

  Well, a major code restructure can't go into a minor release.  Under the 
proposed model, the only thing that comes from the main branch is major releases 
- when a major release is done, then a new stable branch is set up where the 
minor releases come from.

  Going back to the original issue is code drifting apart - if a major 
restructure is done in the main branch, it makes fixing any bugs in both the 
main and stable branch more difficult.

  It could just be we live with that difficulty.  Or if a major restructure is 
done shortly after a major release, still have to wait for the 6 months or 
whatever.  I don't really want to try to say 'major code restructures happen 
near the end of the cycle' - I think if someone has the code ready and it is on 
the list of things to do, it should be committed.


> Yes, this is true, however despite that, not all major releases need
> break things, and no sense breaking things unless there is a logical
> reason to.
> (random thought about old clients: There are a good number of people who
> still use the plain X client, the gnome client though, I don't think is
> in usage though I may be mistaken)

  However, as per gros's comment, there needs to be sufficient changes between 
the releases to warrant a major release.  We probably don't want to do a new 
major release if there are not any signficant changes - I suppose this may be a 
matter of opinion, but if we go in this model, I think that sort of needs to be 
the case, as otherwise we get into confusion at what each branch/release means.

  There can still certainly be major releases which don't break compatiblity in 
any way but still hold other significant changes (new features, or changing of 
existing features/expanding them).




More information about the crossfire mailing list