Support Git worktrees in generation of hash header

This commit is contained in:
Pedro J. Estébanez 2023-01-09 17:36:22 +01:00
parent 2a04b18d37
commit 078ab7fe05
1 changed files with 4 additions and 0 deletions

View File

@ -111,6 +111,10 @@ def get_version_info(module_version_string="", silent=False):
head = open(os.path.join(gitfolder, "HEAD"), "r", encoding="utf8").readline().strip() head = open(os.path.join(gitfolder, "HEAD"), "r", encoding="utf8").readline().strip()
if head.startswith("ref: "): if head.startswith("ref: "):
ref = head[5:] ref = head[5:]
# If this directory is a Git worktree instead of a root clone.
parts = gitfolder.split("/")
if len(parts) > 2 and parts[-2] == "worktrees":
gitfolder = "/".join(parts[0:-2])
head = os.path.join(gitfolder, ref) head = os.path.join(gitfolder, ref)
packedrefs = os.path.join(gitfolder, "packed-refs") packedrefs = os.path.join(gitfolder, "packed-refs")
if os.path.isfile(head): if os.path.isfile(head):