| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import datetime
- import subprocess
- def git_short_rev():
- try:
- return subprocess.check_output([
- 'git',
- 'rev-parse',
- '--short',
- 'HEAD',
- ]).decode('utf-8').strip()
- except Exception:
- raise RuntimeError("Could not read git revision. Make sure you have git installed and you're working with a git clone of the repository.")
- def current_date():
- return datetime.date.today().strftime('%Y-%m-%d')
- def git_date(short=True):
- try:
- iso = subprocess.check_output([
- 'git',
- 'log',
- '-1',
- '--format=%ci',
- 'HEAD',
- ]).decode('utf-8').strip()
- if short:
- return iso.split(' ')[0]
- else:
- return iso
- except Exception:
- raise RuntimeError("Could not read git commit date. Make sure you have git installed and you're working with a git clone of the repository.")
- def git_release_version(search_prefix):
- try:
- tags = subprocess.check_output([
- 'git',
- 'tag',
- '--points-at',
- 'HEAD',
- ]).decode('utf-8').splitlines()
- for tag in tags:
- if tag.startswith(search_prefix):
- return tag[len(search_prefix):]
- return None
- except Exception:
- raise RuntimeError("Could not read git release tags. Make sure you have git installed and you're working with a git clone of the repository.")
|