Commit f2254af
committed
_to_relative_path to support mixing slashes and backslashes
Working on Windows you sometime end up having some paths with backslashes (windows native) and some with slashes - this PR will resolve the issue using gitpython for those kind of cases (see example below). It will also fix the issues if paths contain redundant separators or "..".
```
import git
repo = git.Repo(r"C:\gittest")
repo.index.add(r"C:\gittest\1.txt")
# Traceback (most recent call last):
# File "c:\second_test.py", line 5, in <module>
# repo.index.add(r"C:/gittest/2.txt")
# File "Python311\Lib\site-packages\git\index\base.py", line 879, in add
# paths, entries = self._preprocess_add_items(items)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "Python311\Lib\site-packages\git\index\base.py", line 672, in _preprocess_add_items
# paths.append(self._to_relative_path(item))
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "Python311\Lib\site-packages\git\index\base.py", line 657, in _to_relative_path
# raise ValueError("Absolute path %r is not in git repository at %r" % (path, self.repo.working_tree_dir))
# ValueError: Absolute path 'C:/gittest/2.txt' is not in git repository at 'C:\\gittest'
repo.index.add(r"C:/gittest/2.txt")
repo.index.commit("test")
```1 parent cfadd9e commit f2254af
1 file changed
+1
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
653 | 653 | | |
654 | 654 | | |
655 | 655 | | |
656 | | - | |
| 656 | + | |
657 | 657 | | |
658 | 658 | | |
659 | 659 | | |
| |||
0 commit comments