Просмотр исходного кода

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
Renaud Paquay 9 лет назад
Родитель
Сommit
2a4be94878
2 измененных файлов с 4 добавлено и 4 удалено
  1. 1 1
      git_refs.py
  2. 3 3
      project.py

+ 1 - 1
git_refs.py

@@ -139,7 +139,7 @@ class GitRefs(object):
 
 
   def _ReadLoose1(self, path, name):
   def _ReadLoose1(self, path, name):
     try:
     try:
-      fd = open(path, 'rb')
+      fd = open(path)
     except IOError:
     except IOError:
       return
       return
 
 

+ 3 - 3
project.py

@@ -1258,7 +1258,7 @@ class Project(object):
     if is_new:
     if is_new:
       alt = os.path.join(self.gitdir, 'objects/info/alternates')
       alt = os.path.join(self.gitdir, 'objects/info/alternates')
       try:
       try:
-        fd = open(alt, 'rb')
+        fd = open(alt)
         try:
         try:
           alt_dir = fd.readline().rstrip()
           alt_dir = fd.readline().rstrip()
         finally:
         finally:
@@ -2691,11 +2691,11 @@ class Project(object):
       else:
       else:
         path = os.path.join(self._project.worktree, '.git', HEAD)
         path = os.path.join(self._project.worktree, '.git', HEAD)
       try:
       try:
-        fd = open(path, 'rb')
+        fd = open(path)
       except IOError as e:
       except IOError as e:
         raise NoManifestException(path, str(e))
         raise NoManifestException(path, str(e))
       try:
       try:
-        line = fd.read()
+        line = fd.readline()
       finally:
       finally:
         fd.close()
         fd.close()
       try:
       try: