Procházet zdrojové kódy

Clarify encoding or symlinks.

Jelmer Vernooij před 8 roky
rodič
revize
591113a48a
1 změnil soubory, kde provedl 6 přidání a 5 odebrání
  1. 6 5
      dulwich/index.py

+ 6 - 5
dulwich/index.py

@@ -516,8 +516,8 @@ def build_index_from_tree(root_path, index_path, object_store, tree_id,
             # TODO(jelmer): record and return submodule paths
         else:
             obj = object_store[entry.sha]
-            st = build_file_from_blob(obj, entry.mode, full_path,
-                honor_filemode=honor_filemode)
+            st = build_file_from_blob(
+                obj, entry.mode, full_path, honor_filemode=honor_filemode)
         # Add file to index
         if not honor_filemode or S_ISGITLINK(entry.mode):
             # we can not use tuple slicing to build a new tuple,
@@ -547,9 +547,10 @@ def blob_from_path_and_stat(fs_path, st):
     else:
         if sys.platform == 'win32' and sys.version_info[0] == 3:
             # os.readlink on Python3 on Windows requires a unicode string.
-            fs_path = fs_path.decode(sys.getfilesystemencoding())
-            blob.data = os.readlink(fs_path).encode(
-                sys.getfilesystemencoding())
+            # TODO(jelmer): Don't assume tree_encoding == fs_encoding
+            tree_encoding = sys.getfilesystemencoding()
+            fs_path = fs_path.decode(tree_encoding)
+            blob.data = os.readlink(fs_path).encode(tree_encoding)
         else:
             blob.data = os.readlink(fs_path)
     return blob