From 52bab0ba277c173259664cccc78b8ffed0c89841 Mon Sep 17 00:00:00 2001 From: Gavin Mak Date: Mon, 21 Jul 2025 13:07:37 -0700 Subject: project: Use git rev-parse to read HEAD Don't directly read `.git/HEAD`, git already has a command for this. Bug: 432200791 Change-Id: Iba030650224143eb07c44da1fa56341d9deb4288 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/492941 Reviewed-by: Scott Lee Commit-Queue: Gavin Mak Tested-by: Gavin Mak --- project.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'project.py') diff --git a/project.py b/project.py index 3def4d32..84a5cdf6 100644 --- a/project.py +++ b/project.py @@ -3834,19 +3834,11 @@ class Project: def GetHead(self): """Return the ref that HEAD points to.""" - path = self.GetDotgitPath(subpath=HEAD) try: - with open(path) as fd: - line = fd.readline() - except OSError as e: + return self.rev_parse("--symbolic-full-name", HEAD) + except GitError as e: + path = self.GetDotgitPath(subpath=HEAD) raise NoManifestException(path, str(e)) - try: - line = line.decode() - except AttributeError: - pass - if line.startswith("ref: "): - return line[5:-1] - return line[:-1] def SetHead(self, ref, message=None): cmdv = [] -- cgit v1.2.3-54-g00ecf