hey folks, not sure if anyone here is actively working on the monopolist idea but we just had a small breakthrough on our side on the package versioning<>git ordering problem.
one of my teams built a prototype tool that given a pants target, will emit a wheel with a sha-tagged version with an explicit version (passed by flag at build time) and we’re gaining lots of experience with this internally. one problem that has emerged is that the version ordering there is brittle to human error and needs to be explicitly managed (e.g. the publisher has to increment this manually to get sane ordering).
so we started looking at PEP440 “date based release segments”, which appear to work well to keep things ~mostly aligned to the git history (mod sub-second commit collisions). this is the new version generation scheme we settled on for that tool - which is to generate the version from the commit timestamp and then append the sha as a local version identifier):
[omerta pants2wheel (master)]$ git show -s --date="format:%Y.%-m%d.%H%M%S" --format="%cd+%h" HEAD
2021.719.214135+f345b57c9c997
might be useful to get proper
--upgrade
and range pin behavior.