summaryrefslogtreecommitdiff
path: root/git/index/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'git/index/base.py')
-rw-r--r--git/index/base.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/git/index/base.py b/git/index/base.py
index 66fd5b1f..db0c3cda 100644
--- a/git/index/base.py
+++ b/git/index/base.py
@@ -579,8 +579,14 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
entries_added = list()
if path_rewriter:
for path in paths:
- abspath = os.path.abspath(path)
- gitrelative_path = abspath[len(self.repo.working_tree_dir) + 1:]
+ if os.path.isabs(path):
+ abspath = path
+ gitrelative_path = path[len(self.repo.working_tree_dir) + 1:]
+ else:
+ gitrelative_path = path
+ abspath = os.path.join(self.repo.working_tree_dir, gitrelative_path)
+ # end obtain relative and absolute paths
+
blob = Blob(self.repo, Blob.NULL_BIN_SHA,
stat_mode_to_index_mode(os.stat(abspath).st_mode),
to_native_path_linux(gitrelative_path))