summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJosh Kearney <josh@jk0.org>2013-01-29 16:12:21 -0600
committerJosh Kearney <josh@jk0.org>2013-01-29 16:12:21 -0600
commit67bba28ed1d16300fb23cf3466a503d3fcf7d3b4 (patch)
tree2db5b77ddd5e8c24e9569f526eb864a03c7943a7 /openstackclient
parent4297e5781b03bad1c67cfdaa6cfdb73f6d1385de (diff)
downloadpython-openstackclient-67bba28ed1d16300fb23cf3466a503d3fcf7d3b4.tar.gz
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
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/openstack/common/setup.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/openstackclient/openstack/common/setup.py b/openstackclient/openstack/common/setup.py
index 53af7203..fb187fff 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('-', '.')