zhzluke96
update
4c19a5a
raw
history blame
1.45 kB
from functools import lru_cache
import os
import subprocess
from modules.utils import constants
git = os.environ.get("GIT", "git")
@lru_cache()
def commit_hash():
try:
return subprocess.check_output(
[git, "-C", constants.ROOT_DIR, "rev-parse", "HEAD"],
shell=False,
encoding="utf8",
).strip()
except Exception:
return "<none>"
@lru_cache()
def git_tag():
try:
return subprocess.check_output(
[git, "-C", constants.ROOT_DIR, "describe", "--tags"],
shell=False,
encoding="utf8",
).strip()
except Exception:
try:
changelog_md = os.path.join(
os.path.dirname(os.path.dirname(__file__)), "CHANGELOG.md"
)
with open(changelog_md, "r", encoding="utf-8") as file:
line = next((line.strip() for line in file if line.strip()), "<none>")
line = line.replace("## ", "")
return line
except Exception:
return "<none>"
@lru_cache()
def branch_name():
try:
return subprocess.check_output(
[git, "-C", constants.ROOT_DIR, "rev-parse", "--abbrev-ref", "HEAD"],
shell=False,
encoding="utf8",
).strip()
except Exception:
return "<none>"
if __name__ == "__main__":
print(commit_hash())
print(git_tag())
print(branch_name())