# HG changeset patch # User Kyle Lippincott # Date 2019-10-08 17:40:36 # Node ID 37af48031d6fe048d3c5b6222acf4e24e1f9421f # Parent 24a07347aa60df3b59d86ccc1b20b8818f9bffed hghave: document format for version feature checks as , no dots I had a bit of a difficult time when attempting to fix a use of `py-38` when trying to figure out what the correct way of specifying the feature was. By having the strings 'py-3*' and 'py3.8' in the hghave.checkvers docstring, I would have had a much easier time of it instead of having to trace exactly what was happening here. Differential Revision: https://phab.mercurial-scm.org/D7023 diff --git a/tests/hghave.py b/tests/hghave.py --- a/tests/hghave.py +++ b/tests/hghave.py @@ -60,7 +60,11 @@ def check(name, desc): def checkvers(name, desc, vers): """Registers a check function for each of a series of versions. - vers can be a list or an iterator""" + vers can be a list or an iterator. + + Produces a series of feature checks that have the form without + any punctuation (even if there's punctuation in 'vers'; i.e. this produces + 'py38', not 'py3.8' or 'py-38').""" def decorator(func): def funcv(v): @@ -757,6 +761,8 @@ def has_demandimport(): return (not has_chg()) and os.environ.get('HGDEMANDIMPORT') != 'disable' +# Add "py27", "py35", ... as possible feature checks. Note that there's no +# punctuation here. @checkvers("py", "Python >= %s", (2.7, 3.5, 3.6, 3.7, 3.8, 3.9)) def has_python_range(v): major, minor = v.split('.')[0:2]