[Distutils] RFC : Version comparison
Tarek Ziadé
ziade.tarek at gmail.com
Thu May 14 10:59:22 CEST 2009
2009/5/14 P.J. Eby <pje at telecommunity.com>:
> At 02:34 PM 5/13/2009 +0200, Tarek Ziadé wrote:
>>
>> Any feedback on this "dev version of post release" use case
>
> It looks like the 'suggest' function doesn't handle svn revisions properly
> for conversion from setuptools versions. Setuptools '-r###' is a
> post-release tag, as is any alpha string alphabetically after 'final'. That
> is, '0.4a1.r10' is actually '0.4a1.post10'. (Notice, for example, that
> setuptools' trunk version is '0.7a1dev-r66608'.)
>
> See
> http://peak.telecommunity.com/DevCenter/setuptools#specifying-your-project-s-version
> for the full syntax; I'm a bit concerned that there may be other incorrect
> interpretations taking place in this function. (Notice, for example, that a
> '-' in a version number indicates a post-release, but your code is treating
> '-' as identical to '.'.)
Ok, I have changed the suggest function accordingly,
def test_suggest_rational_version(self):
self.assertEquals(suggest('1.0'), '1.0')
self.assertEquals(suggest('1.0-alpha1'), '1.0a1')
self.assertEquals(suggest('1.0rc2'), '1.0c2')
self.assertEquals(suggest('walla walla washington'), None)
# from setuptools
self.assertEquals(suggest('0.4a1.r10'), '0.4a1.post10')
self.assertEquals(suggest('0.7a1dev-r66608'), '0.7a1.dev66608')
self.assertEquals(suggest('0.6a9.dev-r41475'), '0.6a9.dev41475')
self.assertEquals(suggest('2.4preview1'), '2.4c1')
self.assertEquals(suggest('2.4rc1'), '2.4c1')
self.assertEquals(suggest('2.4pre1') , '2.4c1')
self.assertEquals(suggest('2.1-rc2'), None) # no suggestion
Tarek
--
Tarek Ziadé | http://ziade.org
More information about the Distutils-SIG
mailing list