Support Git worktrees in generation of hash header

(cherry picked from commit 078ab7fe05)
This commit is contained in:
Pedro J. Estébanez 2023-01-09 17:36:22 +01:00 committed by Rémi Verschelde
parent 6cfbe8d442
commit a6eece7a97
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 4 additions and 0 deletions

View File

@ -104,6 +104,10 @@ def update_version(module_version_string=""):
head = open_utf8(os.path.join(gitfolder, "HEAD"), "r").readline().strip() head = open_utf8(os.path.join(gitfolder, "HEAD"), "r").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):