[Rubygems-developers] Version number format

Gavin Sinclair gsinclair at soyabean.com.au
Tue Mar 30 23:51:10 EST 2004

On Tuesday, March 30, 2004, 9:50:11 AM, Jamis wrote:

> I would like to have "snapshot" gems, that represent the current state
> of CVS.  Is there a way to specify this with the version number? I've
> tried 0.3.0-SNAPSHOT (a la "maven") and that didn't work, and I tried
> "0.3.0cvs" (a la portage) and that didn't work.

> Is there a way to do this currently?  If not, does anyone else think
> this might be worth having?

It might be worth having.  I can see how it provides some convenience.
But it doesn't seem all that necessary.  The discussion in this thread
has been interesting, but there have been no solutions raised that I
thought were really good.  Even if you use metadata to mark a snapshot
(a good idea) there's still the problem of distribution, which would
overwork our faithful manual server maintainers.

Besides, what's wrong with what we have now?  To install a snapshot as
a gem:
 1. Download a snapshot of the project you're after
    - RubyForge provides this
    - use anonymous CVS if you want frequent snapshots
 2. Run "rake snapshot_gem" to create a snapshot gem
 3. Install it

Of course, you need to provide a Rake script for that.  But that's
easy.  And if you don't think it's easy, ask a user to do it for you

It seems to me that if you want to "release" a snapshot gem, you
should put some effort into proper versioning, and release an actual
version, not a snapshot.  So you release version 0.3.0 as "stable",
and release "0.3.7" or something as an "experimental" release, because
it has significant enough features you want to get out there, but
without giving people the idea that you've thoroughly tested it.

Both of these approaches enable you to keep using

  require_gem 'package'

instead of

  require_gem 'package-snapshot'

Furthermore, both approaches would benefit from a piece of metadata
that distinguishes between 'stable' and 'experimental'.  So I think
that is a good idea.


More information about the Rubygems-developers mailing list