Mercurial > hg-stable
changeset 28761:be13a0fb84e8
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!
author | timeless <timeless@mozdev.org> |
---|---|
date | Fri, 01 Apr 2016 13:20:47 +0000 |
parents | cef86c3c82d2 |
children | 61ba04ae6a2f |
files | tests/hghave.py |
diffstat | 1 files changed, 30 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/hghave.py Fri Apr 01 13:19:29 2016 +0000 +++ b/tests/hghave.py Fri Apr 01 13:20:47 2016 +0000 @@ -226,6 +226,36 @@ 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))) + +@checkvers("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)) + +@check("hg08", "Mercurial >= 0.8") +def has_hg08(): + if checks["hg09"][0](): + return True + return matchoutput('hg help annotate 2>&1', '--date') + +@check("hg07", "Mercurial >= 0.7") +def has_hg07(): + if checks["hg08"][0](): + return True + return matchoutput('hg --version --quiet 2>&1', 'Mercurial Distributed SCM') + +@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')