On Nov 13, 8:26 am, "Luis Lavena" <[EMAIL PROTECTED]> wrote:
> On Thu, Nov 13, 2008 at 10:22 AM, Trans <[EMAIL PROTECTED]> wrote:
>
> > On Nov 13, 6:13 am, "Luis Lavena" <[EMAIL PROTECTED]> wrote:
> >> On Thu, Nov 13, 2008 at 2:26 AM, Daniel Berger <[EMAIL PROTECTED]> wrote:
> >> > Josh Susser wrote:
>
> >> >> On Nov 12, 2008, at 4:39 AM, Ryan Davis wrote:
>
> >> >>> On Nov 11, 2008, at 10:59 , Phil Hagelberg wrote:
>
> >> >>>> Really? String#<=> is pretty well-understood as far as I can tell.
>
> >> >>> yes... it is very well understood to be very bad for this problem:
>
> >> >>> >> "a2" <=> "a11"
> >> >>> => 1
> >> >>> >> 2 <=> 11
> >> >>> => -1
>
> >> >> So use a.1 and a.11 instead of a1 and a11
>
> >> >>  def test_order
> >> >>    numbers = %w[ 1.0.a 1.0.a.1 1.0.a.2 1.0.a.11 1.0.b.1 1 1.0.1 1.2 ]
> >> >>    versions = numbers.collect { |n| Gem::Version.new(n) }
> >> >>    assert_equal numbers, versions.sort.collect { |v| v.parts.join(".") }
> >> >>  end
>
> >> > I can't say I like where this is going.
>
> >> > In my opinion this is going to lead to unforeseen issues. I don't know 
> >> > what
> >> > those issues are exactly, I just have a very bad feeling about it.
>
> >> > I recommend holding off on this for now.
>
> >> > Regards,
>
> >> My guts tell me the same, but I guess is too late since several of
> >> these commits made to the trunk already.
>
> >> There is already a big nightmare (not to say gem hell) related to
> >> preview/rc gems laying in github or rubyforge that complicate the
> >> environment of many users (I get several reports about that). As
> >> example I can mention rspec gem depending on a patched version of rcov
> >> that only exist in github and has no binaries for it.
>
> >> Having that dependency buried and hidden from users make it hard to track.
>
> >> I believe pushing RC or preview versions to rubyforge will make "gem
> >> update" for several users a nightmare. As example, take gems that
> >> require compilation.
>
> >> Noone cares about this situation, but rubygems is dumb in this aspect,
> >> it will pick the latest version available with "ruby" as platform and
> >> try to compile it. If you lack the toolchain (either b'cause you're in
> >> a server or in Windows) you will make your environment bomb out and
> >> get lot of negavtive experiences from users.
>
> >> Previously, no RC or preview gem was published to rubyforge. Previews
> >> and RC where available through private gem servers to avoid this
> >> situation letting the developers control how and when these gems will
> >> hit the mirrors and made into the public.
>
> >> I don't see big OS distros like Ubuntu or even debian opening the room
> >> for RC and preview packages to their official distribution
> >> repositories.
>
> > I've occasionally seen pre-releases in the repositories.
>
> >> Anyway, just my PoV, this will also render useless patterns like "~>"
> >> and even worse dumb developers that do not check or maintain their
> >> dependency list properly.
>
> > I'm not sure why it's so hard to make RubyGems understand that
>
> >  1.0.0rc10 > 1.0.0rc1
>
> > and
>
> >  1.0.0 > 1.0.0rc1
>
> > That's really all that's needed.
>
> > And ~> should just not consider any version with lettering at the end.
>
> > T.
>
> So ~> for 2.1.0 will be the same as 2.1.0.rc30 gem installed in the user 
> system.

No. I think people use ~> when they expect very tight and rational
versioning. So ~> means production code only, and rc30 would not fit
the bill. That's what I meant by "not consider".

If one wanted to accept rc versions, then use > or >= instead.

> Riiight. That also bring things related to cleanup of these gems...
> what to do if you're not considering these cases in full spectrum?

Seems to me one should also be able to tell the gem command "consider
production releases only".

T.
_______________________________________________
Rubygems-developers mailing list
Rubygems-developers@rubyforge.org
http://rubyforge.org/mailman/listinfo/rubygems-developers

Reply via email to