From 9c92df685d6c600a0a3324dff08a4d00d829a4f5 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 25 Nov 2009 16:07:45 +0100 Subject: diff: added __str__ method to diff class IndexObject._mode_str_to_int: Now uses the 6 relevant bytes of the passed in octal string --- lib/git/objects/base.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'lib/git/objects/base.py') 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 -- cgit v1.2.1