[docs]@warn_on_args_to_kwargs()defpkg_commit_hash(pkg_path:str|None=None)->tuple[str,str]:"""Get short form of commit hash In this file is a variable called COMMIT_HASH. This contains a substitution pattern that may have been filled by the execution of ``git archive``. We get the commit hash from (in order of preference): * A substituted value in ``archive_subst_hash`` * A truncated commit hash value that is part of the local portion of the version * git's output, if we are in a git repository If all these fail, we return a not-found placeholder tuple Parameters ---------- pkg_path : str directory containing package Returns ------- hash_from : str Where we got the hash from - description hash_str : str short form of hash """ifnotCOMMIT_HASH.startswith("$Format"):# it has been substitutedreturn"archive substitution",COMMIT_HASHver=Version(__version__)ifver.localisnotNoneandver.local.startswith("g"):return"installation",ver.local[1:8]# maybe we are in a repositoryproc=run(("git","rev-parse","--short","HEAD"),capture_output=True,cwd=pkg_path,)ifproc.stdout:return"repository",proc.stdout.decode().strip()return"(none found)","<not found>"