From 0857d33852b6b2f4d7bc470b4c97502c7f978180 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Tue, 3 Apr 2018 14:39:44 +0300 Subject: git: index: base: use os.path.relpath Fixes #743 Signed-off-by: Ruslan Kuprieiev --- git/index/base.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'git/index') 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. """ -- cgit v1.2.3