setup.py
changeset 33110 6fdc1518983e
parent 33103 db8531c45953
child 33111 87ee783f7299
--- a/setup.py	Tue Jun 27 23:50:22 2017 +0900
+++ b/setup.py	Mon Jun 26 11:31:30 2017 -0700
@@ -184,6 +184,12 @@
     cmd = [sys.executable, 'hg', 'log', '-r', '.', '--template', '{tags}\n']
     numerictags = [t for t in runhg(cmd, env).split() if t[0:1].isdigit()]
     hgid = runhg([sys.executable, 'hg', 'id', '-i'], env).strip()
+    if not hgid:
+        # Bail out if hg is having problems interacting with this repository,
+        # rather than falling through and producing a bogus version number.
+        # Continuing with an invalid version number will break extensions
+        # that define minimumhgversion.
+        raise SystemExit('Unable to determine hg version from local repository')
     if numerictags: # tag(s) found
         version = numerictags[-1]
         if hgid.endswith('+'): # propagate the dirty status to the tag