setup: make the version computation process more resistant
The tag fetching might return and empty stringĀ¹, from there everything derails
quickly. As setup tools becomes more picky about version format we make the
whole seems a bit more robust.
The resulting version will be obviously weird, but at least it will actually
install itself.
[1] This is a problem we will address in the next changesets.
--- a/setup.py Mon Jan 30 18:25:11 2023 -0500
+++ b/setup.py Mon Jan 30 18:41:59 2023 +0100
@@ -337,8 +337,12 @@
else: # no tag found
ltagcmd = ['parents', '--template', '{latesttag}']
ltag = sysstr(hg.run(ltagcmd))
+ if not ltag:
+ ltag = 'null'
changessincecmd = ['log', '-T', 'x\n', '-r', "only(.,'%s')" % ltag]
changessince = len(hg.run(changessincecmd).splitlines())
+ if ltag == 'null':
+ ltag = '0.0'
version = '%s+hg%s.%s' % (ltag, changessince, hgid)
if version.endswith('+'):
version = version[:-1] + 'local' + time.strftime('%Y%m%d')