Clean up logic for finding git hash

Also add implementation for release scripts as well
This commit is contained in:
Jay Kamat 2017-10-14 11:32:23 -04:00
parent ee3d7463f6
commit 4ff44eff7b
No known key found for this signature in database
GPG Key ID: 5D2E399600F4F7B5
3 changed files with 7 additions and 12 deletions

View File

@ -148,13 +148,9 @@ def _git_str_subprocess(gitpath):
if not os.path.isdir(os.path.join(gitpath, ".git")):
return None
try:
# https://stackoverflow.com/questions/21017300/21017394#21017394
commit_hash = subprocess.check_output(
['git',
'describe',
'--match=NeVeRmAtCh',
'--always',
'--abbrev=40',
'--dirty'],
['git', 'describe', '--match=NeVeRmAtCh', '--always', '--dirty'],
cwd=gitpath).decode('UTF-8').strip()
date = subprocess.check_output(
['git', 'show', '-s', '--format=%ci', 'HEAD'],

View File

@ -50,13 +50,14 @@ def _git_str():
if not os.path.isdir(os.path.join(BASEDIR, ".git")):
return None
try:
cid = subprocess.check_output(
['git', 'describe', '--tags', '--dirty', '--always'],
# https://stackoverflow.com/questions/21017300/21017394#21017394
commit_hash = subprocess.check_output(
['git', 'describe', '--match=NeVeRmAtCh', '--always', '--dirty'],
cwd=BASEDIR).decode('UTF-8').strip()
date = subprocess.check_output(
['git', 'show', '-s', '--format=%ci', 'HEAD'],
cwd=BASEDIR).decode('UTF-8').strip()
return '{} ({})'.format(cid, date)
return '{} ({})'.format(commit_hash, date)
except (subprocess.CalledProcessError, OSError):
return None

View File

@ -356,9 +356,7 @@ class TestGitStrSubprocess:
def test_real_git(self, git_repo):
"""Test with a real git repository."""
ret = version._git_str_subprocess(str(git_repo))
assert ret == \
'6e4b65a529c0ab78fb370c1527d5809f7436b8f3 ' \
+ '(1970-01-01 01:00:00 +0100)'
assert ret == '6e4b65a (1970-01-01 01:00:00 +0100)'
def test_missing_dir(self, tmpdir):
"""Test with a directory which doesn't exist."""