lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mattmann, Chris A (388J)" <chris.a.mattm...@jpl.nasa.gov>
Subject Re: [lucy-dev] X.Y.Z version number feasibility
Date Fri, 03 Dec 2010 03:15:10 GMT
Hi Marvin,

My philosophy:

1. Use X.Y version #s, starting from 0.X
2. use .Z when it makes sense (aka patch release to X.Y series, e.g., first patch in the series
is .1, .2, etc.)

Cheers,
Chris

On Dec 2, 2010, at 3:04 PM, Marvin Humphrey wrote:

> Greets,
> 
> Most Apache projects seem to use X.Y.Z version numbering.  Specifying X.Y.Z
> versions in Perl is messy, though, as David Golden explains:
> 
>    http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/
> 
> I think we'd be better off if we avoided vstrings and version.pm objects.
> 
> But then, specifying X.Y.Z versions in C isn't straightforward either --
> there's no native C vstring type, after all.  A lot of projects (Perl, GCC,
> Subversion, etc) use 3 or more integers to convey version information
> programatically.
> 
> For my CPAN distros, I've always had all version number formats match exactly
> in all of the following places:
> 
>    * Distribution archive name                  => KinoSearch-0.31.tar.gz
>    * Documentation (POD, Changes, README, etc.) => 0.31
>    * META.yml                                   => 0.31
>    * $VERSION                                   => "0.31"
> 
> However, research has revealed that it's not mandatory for all formats to
> match.  See this comment from Darren Duncan:
> 
>    http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/#comment-2746
> 
>    For the last few years, the practice I have followed for the modules I
>    write is to use X.Y.Z version numbers conceptually and in my documentation
>    and as my distro version, and I use the corresponding X.00Y00Z versions in
>    the actual code of my modules for declaration and use.
> 
> One example of a distro where version numbers are expressed differently in
> different contexts is Apache's Mail::SpamAssassin.
> 
>    Dist archive name => Mail-SpamAssassin-3.3.1.tar.gz
>    Documentation     => 3.3.1
>    META.yml          => 3.003001
>    $VERSION          => "3.003001"
> 
> Note that SpamAssasin used the floating point variant in META.yml.  I'd be
> inclined to use the X.Y.Z format there, as Duncan does for his distro
> Set::Relation.
> 
>    Dist archive name => Set-Relation-0.12.7.tar.gz
>    Documentation     => 0.12.7
>    META.yml          => 0.12.7
>    $VERSION          => "0.012007"
> 
> Based on these precedents, I believe it's technically feasible to use X.Y.Z
> versioning for Lucy and it's Perl bindings:
> 
>    Dist archive name => Lucy-0.1.0-incubating.tar.gz
>    Documentation     => 0.1.0
>    META.yml          => 0.1.0
>    $VERSION          => "0.001000"
> 
> Other host binding languages will present similar challenges when expressing
> X.Y.Z version information programmatically; presumably, similar workarounds
> will be found for all of them.
> 
> Marvin Humphrey
> 


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chris Mattmann, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 171-266B, Mailstop: 171-246
Email: chris.a.mattmann@nasa.gov
WWW:   http://sunset.usc.edu/~mattmann/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adjunct Assistant Professor, Computer Science Department
University of Southern California, Los Angeles, CA 90089 USA
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Mime
View raw message