#!/usr/bin/env python3 """ Automaticky generator cisla verze Automaticky generuje cislo verze z informaci, poskytnutych gitem Copyright (c) 2019, 2020, 2021 xPablo.cz Autor: Pavel Brychta """ import subprocess dirty = False branch = "HEAD" build = "0" try: version_parts = subprocess.check_output(["git", "describe", "--tags", "--dirty", "--long", "--always"]).decode().strip().split('-') branch = subprocess.check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"]).decode().strip() if version_parts[-1] == "dirty": dirty = True version_parts.pop() if len(version_parts) >= 3: # zahodime abbrev version_parts.pop(); build = version_parts.pop() version = '-'.join(version_parts) else: # neni zatim zadny tag version = '0.0.0' build = subprocess.check_output(["git", "rev-list", "--all", "--count"]).decode().strip() except: version = 'x.x.x' build = "" if build == "0" else "." + build dirty_text = "" if not dirty else "m" branch_text = "" if branch in ("master", "HEAD") else "[{}]".format(branch) print("{}{}{}{}".format(version, build, dirty_text, branch_text))