summaryrefslogtreecommitdiff
path: root/git/objects/tree.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2015-01-06 16:11:34 +0100
committerSebastian Thiel <byronimo@gmail.com>2015-01-06 16:11:34 +0100
commit56e942318f3c493c8dcd4759f806034331ebeda5 (patch)
tree82cdca65cd197f36ea3680171186e0ddcf234266 /git/objects/tree.py
parentd46e3fe9cb0dea2617cd9231d29bf6919b0f1e91 (diff)
parent68f8a43d1b643318732f30ee1cd75e1d315a4537 (diff)
downloadgitpython-56e942318f3c493c8dcd4759f806034331ebeda5.tar.gz
Merge branch 'py3' into 0.3
Conflicts: git/refs/log.py
Diffstat (limited to 'git/objects/tree.py')
-rw-r--r--git/objects/tree.py31
1 files changed, 19 insertions, 12 deletions
diff --git a/git/objects/tree.py b/git/objects/tree.py
index c77e6056..f9bee01e 100644
--- a/git/objects/tree.py
+++ b/git/objects/tree.py
@@ -3,22 +3,21 @@
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
-import util
-from base import IndexObject
from git.util import join_path
-from blob import Blob
-from submodule.base import Submodule
import git.diff as diff
+from gitdb.util import to_bin_sha
-from fun import (
+from . import util
+from .base import IndexObject
+from .blob import Blob
+from .submodule.base import Submodule
+from git.compat import string_types
+
+from .fun import (
tree_entries_from_data,
tree_to_stream
)
-from gitdb.util import (
- to_bin_sha,
-)
-
__all__ = ("TreeModifier", "Tree")
@@ -160,7 +159,7 @@ class Tree(IndexObject, diff.Diffable, util.Traversable, util.Serializable):
raise TypeError("Unknown mode %o found in tree data for path '%s'" % (mode, path))
# END for each item
- def __div__(self, file):
+ def join(self, file):
"""Find the named object in this tree's contents
:return: ``git.Blob`` or ``git.Tree`` or ``git.Submodule``
@@ -193,6 +192,14 @@ class Tree(IndexObject, diff.Diffable, util.Traversable, util.Serializable):
raise KeyError(msg % file)
# END handle long paths
+ def __div__(self, file):
+ """For PY2 only"""
+ return self.join(file)
+
+ def __truediv__(self, file):
+ """For PY3 only"""
+ return self.join(file)
+
@property
def trees(self):
""":return: list(Tree, ...) list of trees directly below this tree"""
@@ -234,9 +241,9 @@ class Tree(IndexObject, diff.Diffable, util.Traversable, util.Serializable):
info = self._cache[item]
return self._map_id_to_type[info[1] >> 12](self.repo, info[0], info[1], join_path(self.path, info[2]))
- if isinstance(item, basestring):
+ if isinstance(item, string_types):
# compatability
- return self.__div__(item)
+ return self.join(item)
# END index is basestring
raise TypeError("Invalid index type: %r" % item)