Make tor versions sortable, by adding the commit number to EXTRA_INFO
In legacy/trac#30899, sbws starts using the PEP 440 sortable version scheme: ``` The version previous to this commit was 1.1.1-dev0, after this commit, it becomes 1.1.0+xx.gyyyyyyyy, ie. xx commits after 1.1.0 plus the git short hash (yyyyyyyy). ``` PEP440 is specified here: https://www.python.org/dev/peps/pep-0440/ We should do something similar in tor, so that we can sort all tor versions lexically, even unreleased versions. The current format is: ``` MAJOR.MINOR.MICRO[.PATCHLEVEL][-STATUS_TAG][ (EXTRA_INFO)]* ``` EXTRA_INFO is currently: ``` git rev-parse --short=16 HEAD ``` But we could use: ``` git describe --tags --dirty --broken --always --match "tor-*" ``` Possibly with some post-processing. We should also add a prefix that sorts after any versions in the previous format. (The prefix will only matter for 0.4.4.0-alpha-dev.) Here's the relevant part of the current version spec: https://gitweb.torproject.org/torspec.git/tree/version-spec.txt#n22 Or we could just use python-versioneer to generate a version script for tor: https://github.com/warner/python-versioneer We might need this change for Sponsor 55, so that chutney knows which unreleased tor versions have bridge authority fixes (see legacy/trac#33407)
issue