[Distutils] 2.0dev-r123 no longer greater than 1.0?
Peter Suter
petsuter at gmail.com
Mon Mar 23 20:41:34 CET 2015
On 21.03.2015 19:26, Donald Stufft wrote:
>> On Mar 21, 2015, at 12:46 PM, Peter Suter <petsuter at gmail.com> wrote:
>>
>> On 21.03.2015 17:21, Paul Moore wrote:
>>> On 21 March 2015 at 15:19, Peter Suter <petsuter at gmail.com> wrote:
>>>> Hi
>>>>
>>>> from pkg_resources import parse_version
>>>> parse_version('2.0dev-r123') > parse_version('1.0dev')
>>>>
>>>> In setuptools 7 and below this was True. In setuptools 8 and above this is
>>>> False.
>>>>
>>>> A bug? Are these tags not supported anymore?
>>>>
>>>> The documentation still mentions them extensively, e.g. in:
>>>> https://pythonhosted.org/setuptools/setuptools.html#managing-continuous-releases-using-subversion
>>>>
>>>> setup.cfg options are recommended that generate similar versions:
>>>>
>>>> [egg_info]
>>>> tag_build = .dev
>>>> tag_svn_revision = 1
>>>>
>>>> Am I missing something?
>>> Version numbers are now standardised under PEP 440
>>> (https://www.python.org/dev/peps/pep-0440/). Under that PEP,
>>> post-releases come before pre-releases. "r" represents a post-release
>>> and "dev" a pre-release. So your version isn't a valid PEP 440
>>> version, and gets parsed as a legacy version. Legacy versions then get
>>> sorted before any PEP 440 version, such as 1.0dev.
>>>
>>> It looks like the setuptools documentation hasn't been updated
>>> (setuptools now uses PEP 440 versions since 8.0, see
>>> https://pythonhosted.org/setuptools/history.html#id48).
>> OK, thanks.
>> So what is the equivalent PEP 440 SVN tagged development version? 2.0.dev123? How can I get setuptools to create that instead? It looks like with the above egg_info setuptools automatically adds the "-r".
>>
>> _______________________________________________
>> Distutils-SIG maillist - Distutils-SIG at python.org
>> https://mail.python.org/mailman/listinfo/distutils-sig
> 2.0.dev123 is the correct version number to use, setuptools might need additional updates to it to properly generate those though.
Thanks for the info. Is there a ticket I can follow, or should I create one?
Also, is using tag_svn_revision generally not recommended? It's rather
useful when it works, but it's been a source of problems more than once.
More information about the Distutils-SIG
mailing list