Opened 13 years ago

Closed 13 years ago

#175 closed defect (fixed)

foolscap's "in between releases" version numbers are Irrational

Reported by: Zooko Owned by:
Priority: major Milestone: 0.6.2
Component: packaging Version: 0.6.1
Keywords: Cc:

Description

As discovered in the context of the Tahoe-LAFS project: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1387

Foolscap's version number when it is "in between releases" is "0.6.1+". This is not recognized as a Rational Version Number by the new Python version number standard. If some code requires Rational Version Numbers, or if it uses Tarek Ziadé's new https://bitbucket.org/tarek/distutilsversion to parse version numbers, it will have trouble with this.

Change History (5)

comment:1 Changed 13 years ago by Zooko

A possible solution would be to change foolscap to call its in-between-releases versions something like "0.6.1.post0". That would be acceptable as a Rational Version Number and would sort newer than 0.6.1 and older than 0.6.2.

comment:2 Changed 13 years ago by Zooko

I opened a pull request with this proposed fix: https://github.com/warner/foolscap/pull/2

comment:3 Changed 13 years ago by Zooko

I spent about an hour trying to extend Tahoe-LAFS's copy of Tarek Ziadé's verlib.py to accept 0.6.1+ as a Rational version number but I couldn't figure out how to do it cleanly and gave up. The solution presented in https://github.com/warner/foolscap/pull/2 should be sufficient anyway, as far as I can tell.

comment:4 Changed 13 years ago by Brian Warner

Milestone: undecided0.6.2

comment:5 Changed 13 years ago by Brian Warner

Resolution: fixed
Status: newclosed

Fixed in [1356392]. I'm not thrilled about the readability of "0.6.1.post0" over my "0.6.1+", but I'm not going to fight with a PEP.

Note: See TracTickets for help on using tickets.