summaryrefslogtreecommitdiff
path: root/git/index
diff options
context:
space:
mode:
authorRuslan Kuprieiev <kupruser@gmail.com>2018-04-03 14:39:44 +0300
committerSebastian Thiel <byronimo@gmail.com>2018-04-04 09:35:57 +0200
commit0857d33852b6b2f4d7bc470b4c97502c7f978180 (patch)
tree92fa55c07313d4fb8459716413eb47dcd5b62662 /git/index
parente79a3f8f6bc6594002a0747dd4595bc6b88a2b27 (diff)
downloadgitpython-0857d33852b6b2f4d7bc470b4c97502c7f978180.tar.gz
git: index: base: use os.path.relpath
Fixes #743 Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Diffstat (limited to 'git/index')
-rw-r--r--git/index/base.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/git/index/base.py b/git/index/base.py
index 14a3117a..04a3934d 100644
--- a/git/index/base.py
+++ b/git/index/base.py
@@ -561,10 +561,9 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
return path
if self.repo.bare:
raise InvalidGitRepositoryError("require non-bare repository")
- relative_path = path.replace(self.repo.working_tree_dir + os.sep, "")
- if relative_path == path:
+ if not path.startswith(self.repo.working_tree_dir):
raise ValueError("Absolute path %r is not in git repository at %r" % (path, self.repo.working_tree_dir))
- return relative_path
+ return os.path.relpath(path, self.repo.working_tree_dir)
def _preprocess_add_items(self, items):
""" Split the items into two lists of path strings and BaseEntries. """