From 78086a8e897d5f59d59f04d41ebc9eef6059684b Mon Sep 17 00:00:00 2001 From: Josh Kearney Date: Tue, 29 Jan 2013 16:12:21 -0600 Subject: [PATCH] Use install_venv_common.py from oslo. This syncs install_venv_common.py from oslo and reworks the tools/install_venv.py script to use the new library. Change-Id: I3426a7f51b0018e074cc6f4b1d70b38e52464a38 --- openstackclient/openstack/common/setup.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/openstackclient/openstack/common/setup.py b/openstackclient/openstack/common/setup.py index 53af720..fb187ff 100644 --- a/openstackclient/openstack/common/setup.py +++ b/openstackclient/openstack/common/setup.py @@ -258,6 +258,22 @@ def get_cmdclass(): return cmdclass +def _get_revno(): + """Return the number of commits since the most recent tag. + + We use git-describe to find this out, but if there are no + tags then we fall back to counting commits since the beginning + of time. + """ + describe = _run_shell_command("git describe --always") + if "-" in describe: + return describe.rsplit("-", 2)[-2] + + # no tags found + revlist = _run_shell_command("git rev-list --abbrev-commit HEAD") + return len(revlist.splitlines()) + + def get_version_from_git(pre_version): """Return a version which is equal to the tag that's on the current revision if there is one, or tag plus number of additional revisions @@ -271,9 +287,7 @@ def get_version_from_git(pre_version): throw_on_error=True).replace('-', '.') except Exception: sha = _run_shell_command("git log -n1 --pretty=format:%h") - describe = _run_shell_command("git describe --always") - revno = describe.rsplit("-", 2)[-2] - return "%s.a%s.g%s" % (pre_version, revno, sha) + return "%s.a%s.g%s" % (pre_version, _get_revno(), sha) else: return _run_shell_command( "git describe --always").replace('-', '.')