added support for non-ascii directories and file names by xarx00 · Pull Request #860 · gitpython-developers/GitPython (original) (raw)

This fix allows support for non-ascii filenames, both in workdir and repos. For instance, when your workdir contains non-ascii (0-255) characters, git.Repo.clone_from() didn't work.

Implementation:
It turned out that the amount of necessary changes is not big. The main problem was in that git.compat.defenc was set to sys.getdefaultencoding() instead of sys.getfilesystemencoding().
sys.getfilesystemencoding() requires Python 2.3. The from builtins import str fixes several str(epath) etc. conversions that were causing UnicodeEncodeError. I have no idea what python2 version is necessary for that.

I have tested the fix on Windows7 Pro x64, both with Python 2.7.13 and 3.7.3.