Skip to content

added support for non-ascii directories and file names - #860

Merged
3 commits merged into
gitpython-developers:masterfrom
xarx00:PR-non-ascii-filenames
Jul 20, 2019
Merged

added support for non-ascii directories and file names#860
3 commits merged into
gitpython-developers:masterfrom
xarx00:PR-non-ascii-filenames

Conversation

@xarx00

Copy link
Copy Markdown
Contributor

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.

@codecov-io

codecov-io commented Apr 5, 2019

Copy link
Copy Markdown

Codecov Report

Merging #860 into master will decrease coverage by 1.24%.
The diff coverage is 80%.

Impacted file tree graph

@@ Coverage Diff @@## master #860 +/- ##
==========================================
- Coverage 94.79% 93.54% -1.25% 
==========================================
Files 59 59 Lines 9603 9607 +4 ==========================================
- Hits 9103 8987 -116 - Misses 500 620 +120
Impacted FilesCoverage Δ
git/repo/base.py94.12% <100%> (-1.25%)⬇️
git/compat.py41.21% <75%> (-23.61%)⬇️
git/test/test_util.py90.41% <0%> (-8.22%)⬇️
git/test/lib/asserts.py61.53% <0%> (-7.7%)⬇️
git/test/lib/helper.py85.95% <0%> (-6.18%)⬇️
git/test/test_base.py96.59% <0%> (-2.28%)⬇️
git/test/test_git.py96.64% <0%> (-2.24%)⬇️
git/objects/submodule/base.py93.08% <0%> (-1.42%)⬇️
git/test/test_submodule.py97.93% <0%> (-1.32%)⬇️
... and 13 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1f66e25...a77eab2. Read the comment docs.

@ghost
ghost merged commit a77eab2 into gitpython-developers:masterJul 20, 2019
@Byron

Copy link
Copy Markdown
Member

Thanks a lot, and I would love to merge this. However, it appears the PR breaks a single test in Py 2.7, and I am not entirely sure these are related. So I am merging to test it in master, and revert as needed.

@Byron

Copy link
Copy Markdown
Member

Unfortunately the build still fails on top of master for the same reason as before. I have no idea why this is happening.
What do you recommend?

This pull request was closed.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants

@xarx00@codecov-io@Byron