summaryrefslogtreecommitdiff
path: root/lib/git/objects/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/git/objects/base.py')
-rw-r--r--lib/git/objects/base.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/git/objects/base.py b/lib/git/objects/base.py
index c66263c0..c7bf5bf2 100644
--- a/lib/git/objects/base.py
+++ b/lib/git/objects/base.py
@@ -184,14 +184,16 @@ class IndexObject(Object):
def _mode_str_to_int(cls, modestr):
"""
``modestr``
- string like 755 or 644 or 100644 - only the last 3 chars will be used
+ string like 755 or 644 or 100644 - only the last 6 chars will be used
Returns
String identifying a mode compatible to the mode methods ids of the
- stat module regarding the rwx permissions for user, group and other
+ stat module regarding the rwx permissions for user, group and other,
+ special flags and file system flags, i.e. whether it is a symlink
+ for example.
"""
mode = 0
- for iteration,char in enumerate(reversed(modestr[-3:])):
+ for iteration,char in enumerate(reversed(modestr[-6:])):
mode += int(char) << iteration*3
# END for each char
return mode