[PATCH 5 of 5] hghave: add hg06..hg39
timeless
timeless at mozdev.org
Fri Apr 1 18:23:17 EDT 2016
# HG changeset patch
# User timeless <timeless at mozdev.org>
# Date 1459516847 0
# Fri Apr 01 13:20:47 2016 +0000
# Node ID cf1a0bb1bfd6ba160aa1122118e57427e3568753
# Parent 933f28781c43d5504c7dc609126bc513f5553958
hghave: add hg06..hg39
hg output varies by version, this helps the hgbook
hg 0.6 did not have a version command, so special case it...
hg 0.7-0.8 had a version command which returned unknown...
hg 0.8 added a --date flag to annotate
hg 0.9 had a working version command!
diff --git a/tests/hghave.py b/tests/hghave.py
--- a/tests/hghave.py
+++ b/tests/hghave.py
@@ -222,6 +222,35 @@
except ImportError:
return False
+def gethgversion():
+ m = matchoutput('hg --version --quiet 2>&1', r'(\d+)\.(\d+)')
+ if not m:
+ return (0, 0)
+ return (int(m.group(1)), int(m.group(2)))
+
+ at checkrange("hg", "Mercurial >= %s", list([(1.0*x)/10 for x in range(9, 40)]))
+def has_hg_range(v):
+ major, minor = v.split('.')[0:2]
+ return gethgversion() >= (int(major), int(minor))
+
+ at check("hg08", "Mercurial >= 0.8")
+def has_hg08():
+ if checks["hg09"][0]():
+ return True
+ return matchoutput('hg help annotate 2>&1', '--date')
+
+ at check("hg07", "Mercurial >= 0.7")
+def has_hg07():
+ if checks["hg08"][0]():
+ return True
+ return matchoutput('hg --version --quiet 2>&1', 'Mercurial Distributed SCM')
+
+ at check("hg06", "Mercurial >= 0.6")
+def has_hg06():
+ if checks["hg07"][0]():
+ return True
+ return matchoutput('hg --version --quiet 2>&1', 'Mercurial version')
+
@check("gettext", "GNU Gettext (msgfmt)")
def has_gettext():
return matchoutput('msgfmt --version', 'GNU gettext-tools')
More information about the Mercurial-devel
mailing list