[Distutils] version scheme: a case for dropping ".devNNN" and ".postNNN"
eric at trueblade.com
Fri Jun 12 02:28:35 CEST 2009
Ben Finney wrote:
> If they are separate components (where each component from left to right
> is entirely subordinate to the preceding component), then that
> separation is implied. Version ‘1.2.3’ can have as many ‘.devXXXX’ as
> desired, all of which will compare previous to version ‘1.2.4’.
This demonstrates the "count up from" versus "count up to" problem. If
I'm getting ready to release 1.2.4, I think I'm working on
1.2.4-dev20090611 (or similar), not that I'm working on 220.127.116.1199.3.
> If the version comparison semantics are such that simple “compare
> non-digits per ASCII, compare digit sequences as integers” works within
> a component, I'm not aware of any distribution downstream that can't
> just use them as-is. What specific problems can you see with that?
I think the "count up to" a release version is the problem, and the only
one I can think of. Before Twisted releases 8.2.2, do they really need
to call all of the versions 18.104.22.168.1, 22.214.171.124.2, etc., to avoid
confusion with a possible 8.2.1 release? Don't you think some
information is lost by not conveying "this will become 8.2.2 when it is
the release version"? I grant you that your comparison scheme with
version components works for the computer, I just think it loses
information that's important to humans.
And as others have said, I too use these development version numbers in
internal build tools which automatically update dependencies, so I am
comparing version numbers.
>> Have a "RationalReleaseVersion()" that is just the non-dev part of the
> Let's choose a name that doesn't add to the confusion between the
> non-number “version string” and the mathematical concept of “rational
> number”. Perhaps ‘SimpleVersion’ is a better name.
I agree on "Rational" being confusing. "SimpleVersion" sounds reasonable
More information about the Distutils-SIG