Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
3 commits merged into from
Jul 20, 2019

Conversation

xarx00
Copy link
Contributor

@xarx00 xarx00 commented Apr 5, 2019

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
Copy link

codecov-io commented Apr 5, 2019

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 Files Coverage Δ
git/repo/base.py 94.12% <100%> (-1.25%) ⬇️
git/compat.py 41.21% <75%> (-23.61%) ⬇️
git/test/test_util.py 90.41% <0%> (-8.22%) ⬇️
git/test/lib/asserts.py 61.53% <0%> (-7.7%) ⬇️
git/test/lib/helper.py 85.95% <0%> (-6.18%) ⬇️
git/test/test_base.py 96.59% <0%> (-2.28%) ⬇️
git/test/test_git.py 96.64% <0%> (-2.24%) ⬇️
git/objects/submodule/base.py 93.08% <0%> (-1.42%) ⬇️
git/test/test_submodule.py 97.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:master Jul 20, 2019
@Byron
Copy link
Member

Byron commented Jul 20, 2019

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
Member

Byron commented Jul 20, 2019

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 free to 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