From 2a4be948788dfe5ae9437b048fba229a96bbff2d Mon Sep 17 00:00:00 2001 From: Renaud Paquay Date: Tue, 1 Nov 2016 13:48:15 -0700 Subject: [PATCH] Handle Windows line endings when reading binary files Without this change, '.git\HEAD' files, for examples, are sometime read incorrectly resulting in the current branch to be reset to "master" when running a "repo init -b xxx" on an already initialized repository. Change-Id: I48c7ef85ff81626edf156914329a560e14252f2a --- git_refs.py | 2 +- project.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/git_refs.py b/git_refs.py index 58c838a63..7feaffb1e 100644 --- a/git_refs.py +++ b/git_refs.py @@ -139,7 +139,7 @@ class GitRefs(object): def _ReadLoose1(self, path, name): try: - fd = open(path, 'rb') + fd = open(path) except IOError: return diff --git a/project.py b/project.py index 4eca9b679..d4c5afd57 100644 --- a/project.py +++ b/project.py @@ -1258,7 +1258,7 @@ class Project(object): if is_new: alt = os.path.join(self.gitdir, 'objects/info/alternates') try: - fd = open(alt, 'rb') + fd = open(alt) try: alt_dir = fd.readline().rstrip() finally: @@ -2691,11 +2691,11 @@ class Project(object): else: path = os.path.join(self._project.worktree, '.git', HEAD) try: - fd = open(path, 'rb') + fd = open(path) except IOError as e: raise NoManifestException(path, str(e)) try: - line = fd.read() + line = fd.readline() finally: fd.close() try: