From e9999ec64dd1775ba60ffa97601e00e7e77e06cc Mon Sep 17 00:00:00 2001 From: Christoph Groth <christoph.groth@cea.fr> Date: Fri, 9 Oct 2015 13:46:16 +0200 Subject: [PATCH] make kwant version conform to PEP 440 --- kwant/_common.py | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/kwant/_common.py b/kwant/_common.py index 94a626d0..9a8378eb 100644 --- a/kwant/_common.py +++ b/kwant/_common.py @@ -33,7 +33,8 @@ def get_version_from_git(): # that were merged-in. for opts in [['--first-parent'], []]: try: - p = subprocess.Popen(['git', 'describe'] + opts, cwd=distr_root, + p = subprocess.Popen(['git', 'describe', '--long'] + opts, + cwd=distr_root, stdout=subprocess.PIPE, stderr=subprocess.PIPE) except OSError: return @@ -41,19 +42,29 @@ def get_version_from_git(): break else: return - version = p.communicate()[0].rstrip('\n') + description = p.communicate()[0].strip('v').rstrip('\n') - if version[0] == 'v': - version = version[1:] + release, dev, git = description.rsplit('-', 2) + version = [release] + labels = [] + if dev != "0": + version.append(".dev{}".format(dev)) + labels.append(git) try: p = subprocess.Popen(['git', 'diff', '--quiet'], cwd=distr_root) except OSError: - version += '-confused' # This should never happen. + labels.append('confused') # This should never happen. else: if p.wait() == 1: - version += '-dirty' - return version + labels.append('dirty') + + if labels: + version.append('+') + version.append(".".join(labels)) + + return "".join(version) + from _kwant_version import version -- GitLab