Re: Meta v2 missing information on how to compare versions

[email protected] (Michael G Schwern)
Newsgroups perl.cpan.workers
Message-ID <[email protected]>
Curtis Jewell wrote:
>> IMO X.Y_Z should always be < than X.Y.  That is, 1.01 > 1.01_05.  This
>> reads 
>> 1.01_05 as "the 5th alpha release of 1.01" just like Firefox 3.6.4 beta 1
>> will 
>> eventually be followed by Firefox 3.6.4.
> 
> I'm sorry, but this section is just *wrong*, IMO. X.Y_Z  should always
> be > X.Y. Otherwise, you've just broken (at least the release sequence
> of) previous versions of the toolchain that make the assumption that a
> simple s/_// gets something to compare to that works, without
> version.pm. (Module::Build, for example, went 0.3603 to 0.36_04 to
> 0.3605 just within the past few months. I also remember perl doing
> 5.005_51 versions in the past during the runup to 5.6.0, as being later
> than 5.00504. )

You're right about that.  The traditional way to handle alphas in decimals is 
X.YY_ZZ -> X.YYZZ.  My mistake.  And it should probably be left that way. 
Which is why we should write this stuff down, perhaps in a spec...


> You don't get 1.01_05 as "the 5th alpha release of 1.01", if, once
> you're exiting the alpha sequence, you immediately increment to 1.02,
> anyway.

That was a recommendation to avoid any possible ambiguity, so the versions are 
resistant to a reader not entirely groking the details of alpha versions.

Now, what about vX.YY_ZZ?  It appears version.pm is treating it as vX.YY.ZZ, 
except if they'd otherwise be equal the alpha loses.

v0.36_04 > v0.36.03
v0.36_04 < v0.36.04
v0.36_04 < v0.36.05

The version.pm docs aren't entirely clear on this point, but don't seem to 
contradict it.

The trouble is...

v0.36.1_04 > v0.36.1

The fourth alpha of v0.36.1 is greater than the release of v0.36.1.  Which 
means you always have to do that double increment which is odd.  It means the 
proper release sequence is:  v0.36.0 -> v0.36.0_01 -> v0.36.1.

It does have the benefit of being a simpler algorithm.  1) Convert _ to .  2) 
If equivalent, alpha loses.

Anyhow, I'm not really concerned just so long as its written down, once and 
for all, and independently of version.pm.


-- 
On error resume stupid
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.