From: Brian Ford Date: 2008-06-19T06:19:08+09:00 Subject: [ruby-core:17331] Re: A plea for a release process On Jun 18, 1:12�pm, "U.Nakamura" wrote: > Hello, > > In message "[ruby-core:17327] A plea for a release process" > � � on Jun.19,2008 04:08:35, wrote: > > > First, whenever there are bugs in one of these released patchlevels, > > the RubySpec sources must have ruby_bug and possibly version_is guards > > added. The ruby_bug guard ensures that the spec for the correct > > behavior will run on alternative implementations, but *not* run on the > > MatzRuby version with the bug. This is done to prevent a bunch of > > errors when running the RubySpecs on an already released version of > > MatzRuby (since nothing can be done about the errors until a new > > version or patchlevel). With so many patchlevels being released, the > > number of these guards is increasing. While the guards are useful, > > they complicate the specs and should ideally be avoided. > > Only these patchleves has been released. > �1.8.5 � � � Aug 25 2006 > �1.8.5-p2 � �Dec �4 2006 (security fix) > �1.8.5-p11 � Dec 18 2006 > �1.8.5-p12 � Dec 25 2006 > �1.8.5-p35 � Mar 13 2007 > �1.8.5-p52 � Jun �9 2007 > �1.8.5-p113 �Sep 23 2007 > �1.8.5-p114 �Oct �4 2007 (security fix) > �1.8.5-p115 �Mar �3 2008 (security fix) > (1.8.5-p2xx �maybe soon? / last release of 1.8.5) > > �1.8.6 � � � Mar 13 2007 > �1.8.6-p36 � Jun �9 2007 > �1.8.6-p110 �Sep 23 2007 > �1.8.6-p111 �Oct �4 2007 (security fix) > �1.8.6-p114 �Mar �3 2008 (security fix) > (1.8.6-p2xx �maybe soon?) > > �1.8.7 � � � Jun �1 2008 > �1.8.7-p17 � Jun �9 2008 > > Tagged versions on svn are not released. > I think that RubySpec doesn't need to take care of them. I've used the word "released" too imprecisely, but I don't think that RubySpec can completely ignore these tags. On the one hand, if the specs are only run against officially released versions, then potential bugs (regressions) introduced in the development branch won't be caught. On the other hand, if the specs are used with the development branch "trunk" or "head" for each version (e.g. 1.8.6, 1.8.7, etc.), then the spec guards need to be able to accurately identify under which version the specs are being run (which means checking patchlevel too), otherwise there will be false positives for failures or some specs that should run would not. Why are all the tags used? Thanks, Brian > > Regards, > -- > U.Nakamura