Opened 15 years ago
Closed 15 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 15 years ago by
comment:2 Changed 15 years ago by
I opened a pull request with this proposed fix: https://github.com/warner/foolscap/pull/2
comment:3 Changed 15 years ago by
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 15 years ago by
| Milestone: | undecided → 0.6.2 |
|---|
comment:5 Changed 15 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
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.

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.