summaryrefslogtreecommitdiff
path: root/git/index
diff options
context:
space:
mode:
Diffstat (limited to 'git/index')
-rw-r--r--git/index/fun.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/git/index/fun.py b/git/index/fun.py
index 9ae46861..c1026fd6 100644
--- a/git/index/fun.py
+++ b/git/index/fun.py
@@ -41,7 +41,8 @@ from gitdb.base import IStream
from gitdb.typ import str_tree_type
from git.compat import (
defenc,
- force_text
+ force_text,
+ force_bytes
)
S_IFGITLINK = S_IFLNK | S_IFDIR # a submodule
@@ -124,7 +125,7 @@ def write_cache(entries, stream, extension_data=None, ShaStreamCls=IndexFileSHA1
write(entry[4]) # ctime
write(entry[5]) # mtime
path = entry[3]
- path = path.encode(defenc)
+ path = force_bytes(path, encoding=defenc)
plen = len(path) & CE_NAMEMASK # path length
assert plen == len(path), "Path %s too long to fit into index" % entry[3]
flags = plen | (entry[2] & CE_NAMEMASK_INV) # clear possible previous values