[Rubygems-developers] Gem#status?

Hugh Sasse hgs at dmu.ac.uk
Tue Nov 11 14:41:52 EST 2008


On Tue, 11 Nov 2008, Phil Hagelberg wrote:

> Ryan Davis <ryand-ruby at zenspider.com> writes:
> 
> >> * Version parts with letters are prerelease (e.g. 'a', 'b5', or
> >> RC1').
> >
> > the second you do this you're gonna get bugs filed saying that you
> > didn't sort the versions the way the user intended... how do you sort
> > a1' vs 'b5' vs 'rc1' vs 'z7'?
> 
> Really? String#<=> is pretty well-understood as far as I can tell.

Oh, I bet will get scarier than that: Locale, current character set, 
multibyte chars, utf-[8,16,32], and is the -K option in use, and are
we doing case sensitive matches or not?  {Is anyone still using EBCDIC?
I hope not, that's scarier than some of the things lurking in Dwemthy's
Array! :-)}
> 
> > For ruby2c, I released 1.0.0 beta 1-5 which I versioned as 1.0.0.1 to
> > 1.0.0.5. It seemed to work fine for me so far... I intentionally
> > didn't do any alphas or rc's etc. but I wanted to be clear that it
> > wasn't a clean 1.0.0 release.
> 
> 1.0.0.1 looks like a very-minor increment on a 1.0.0 release. If I were
> to see that version available without reading through all the release
> announcements, I would have gone ahead and installed it. Any scheme that
> relies on users being thorough about reading the release notes is
> suspect in my mind.

Agreed, but we do have a tradition in the Ruby world about odd minor version
numbers, so another convention for what I've called tiddler numbers
seems possible. Staying numeric would be better.  If not negatives, then
maybe a number that can only be read as Hex might work, except a naive
to_i would turn it to 0.  "To 0xff thou shalt not count, and complex is
right out!".  That only leaves rationals unexplored and allowing a /
in the version number might allow people to be scared off sufficiently,
version 1.0.0.2/3 looks pretty odd.

I only offer these in the hope that they'll spark something useful, since
in themselves they are not, I think.  Lateral thinking is about getting
to a better place from here if there is such a place.
> 
        Hugh


More information about the Rubygems-developers mailing list