chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal


From: Peter Bex
Subject: Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal
Date: Wed, 10 Sep 2014 11:11:38 +0200
User-agent: Mutt/1.4.2.3i

On Tue, Sep 09, 2014 at 02:49:43PM +0000, Mario Domenech Goulart wrote:
> I think the versioning thing also affects the eggs in svn too.  For
> example, suppose right now you have egg foo at version 1.0.  When
> CHICKEN 5 is released, foo will be ported to CHICKEN 5.  What version
> will it be in CHICKEN 4 and 5?

I wrote up a little about that in the "roadmap" document.  I think the
simplest is to just bump the major version of an egg when porting it.
Then, bugfix egg releases can still be made for CHICKEN 4 by bumping only
the minor version.

> I'm quite sure we have a solution for this problem, which is basically
> the same as we had in the CHICKEN 3->4 transition.  Unfortunately, since
> I was the last person I know to switch to CHICKEN 4, I didn't actually
> faced that problem with my eggs.  Since nobody else was using CHICKEN 3,
> I just froze egg versions for that CHICKEN version and continued to
> update eggs for CHICKEN 4 only.

I think most authors won't have enough energy to maintain two
simultaneous egg release branches anyway, aside from important bugfixes.
I suspect most authors will either switch immediately and ignore
CHICKEN 4 (except for important bugfixes, of course), or keep using
CHICKEN 4 for a while longer like you did, and then switch later.

Only for those who seriously want to maintain eggs for a very long time
(making large changes and making major releases on both branches) would
this pose a real problem.

> Another alternative would be using another .release-info file.  That
> approach wouldn't require changes in henrietta-cache.
> 
> For example, we'd have
> 
>   https://raw.github.com/mario-goulart/awful/master/awful.release-info
> 
> for CHICKEN 4, and
> 
>   https://raw.github.com/mario-goulart/awful/chicken-5/awful.release-info
> 
> or
> 
>   https://raw.github.com/mario-goulart/awful/master/awful.release-info.5
> 
> for CHICKEN 5.  Of course, other variations are possible.

I also mentioned this in the roadmap.  It's also possible to move the
chicken 4 stuff to another branch, but that would require some
coordination to update the master egg list.  The biggest problem with
creating a branch for CHICKEN 5 is that the master branch would not be
where development takes place, which is very unusual.

So far I prefer the awful.release-info.5 alternative.  The existing "old"
release-info file would continue to be correct (and can even be updated
for newer CHICKEN 4 releases, which can be tags in another branch), and
development continues in master.  The only confusing bit is that when
development continues on a CHICKEN 4 branch, the CHICKEN 4 release-info
file in the _master_ branch needs to be updated (unless we update the
master egg list, of course).  This has a big potential for mistakes.

Alternatively, one could initialize a new repo for the CHICKEN 5 version,
but that's even uglier, I think.

> It'd be just a matter of pointing to a CHICKEN 5-specific
> .release-info.

Yeah, it can be really simple :)

Cheers,
Peter
-- 
http://www.more-magic.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]