-
-
Notifications
You must be signed in to change notification settings - Fork 933
TST: test on travis while TMPDIR containing unicode chars #543
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
TST: test on travis while TMPDIR containing unicode chars #543
Conversation
Try to fix gitpython-developers#543 unicode woes in "core" position (ie TMPDIR): + Apply surrogate-escapes(PEP383) also when decoding. + Ensure all file-path and cmd-streams are surogate-escape dencoded. + test_utils: check if lock works with unicodes. + git.compat: FIX undefined exc to raise in `replace_surrogate_encode()` and fkale8 fixes. ci results: + Linux: + py2.7 FAIL 53 TCs + py3: fixed + Windows, all were OK
I managed to fix PY3 TCs with f801a3a, but unfortunately, PY2 encodings for filepaths is a "casino"; @@yarikoptic can you live by that alone? |
Trick picked up from gitpython-developers#543.
Trick picked up from gitpython-developers#543. [travis skip]
Trick picked up from gitpython-developers#543. [travis skip]
Trick picked up from gitpython-developers#543. [travis skip]
Dear @ankostis - if you are still interested in my opinion/desires -- I just want ideally both PY2 and PY3 supported. ATM we do not actively support Windows (do Linux and OSX), so those platforms are of interest to me |
Of course! |
Saying just because you asked and I didn't reply ? In time so thought that may be you fixed it all and no feedback was needed any longer ;-) |
Anyhow, I've managed to fix PY3 on linux, please do try and fix the issue also in PY2; commence from f801a3a, as explained above. |
I ahead stashed my laptop away for a transatlantic flight to commence in few minutes... Will try when across the pond and finish driving 300 miles north unless someone beats me to it ;-) |
@yarikoptic I do hope you have landed safely :)! I would also be looking forward to your results whenever you have some time. |
thanks for the buzz @Byron ! Yes, I have landed successfully ;) and today seems to be the day to respond to my own whinings on github (trying to fixup pandas as well atm). Could you please clarify where that commit/branch you pointed to lives at since I can't find it on a quick look :-/ $> git log | grep surrogate
fix(surrogateescape): enable on py2, fix tests
fix(unicode): use surrogateescape in bytes.decode
changes on filesystem:
git/ext/gitdb | 2 +-
$> git show f801a3aed7ab28b1c80fc1b573afb2b182eca995
fatal: bad object f801a3aed7ab28b1c80fc1b573afb2b182eca995
$> git show | head
commit b0c187229cea1eb3f395e7e71f636b97982205ed
Author: Sebastian Thiel <[email protected]>
Date: Thu Dec 8 16:07:11 2016 +0100
meanwhile I will merge current master, resolve conflict and push... |
* upstream/master: chore(lint): flake8 pacification fix(refs): handle quoted branch names chore(repo): remove comment chore(lint): flake8 fix(submodule): don't fail if tracking branch can't be setup Don't change the meaning of string literals Fixes to support Python 2.6 again.
Codecov Report
@@ Coverage Diff @@
## master #543 +/- ##
==========================================
- Coverage 94.66% 86.36% -8.31%
==========================================
Files 60 60
Lines 9340 9338 -2
==========================================
- Hits 8842 8065 -777
- Misses 498 1273 +775
Continue to review full report at Codecov.
|
@yarikoptic Actually I don't know where said commit is, maybe @ankostis can help finding it. So far this issue seemed like a conversation between you to, I just wanted to reignite it after the transatlantic flight. |
I have f801a3a in my repo: https://github.com/ankostis/GitPython/commits/fix_py2_enc |
Is there something we should do with this PR? |
I've managed to address the problem described only for python-3, as explained in this comment. |
@ankostis Thanks again for your contribution, and sorry for the great delay (once again). It appears it is still having trouble to deal with this :/. |
* upstream/master: (83 commits) Remove trailing slash on drive path Further update for machines without ssh installed or on the path Update remote.py to fix issue gitpython-developers#694 IndexFile.commit() now runs pre-commit and post-commit and commit-msg hooks. Update base.py Update remote.py Update base.py Update remote.py Update signing key to latest version recognize the new packed-ref header format Only gc.collect() under windows Converting path in clone and clone_from to str before any other operation in case eg pathlib.Path is passed Fix encoding issue with stderr_value and kill_after_timeout Store submodule name updating AUTHORS Keeping env values passed to `clone_from` Fix test_docs Apparently bdist_wheel is only in python3 version bump BF: Added missing NullHandler to logger in git.remote ...
pushed with current master merged in -- may be some things are already better ;-) |
@yarikoptic This one will probably have to wait for another release. The current one should already make things better though :). |
sure! I will merge current improved master again to see where we stand though |
* upstream/master: Add Yarikoptic to allowed release keys Remove redundant Python 2.4 code Specify Python 3.6 support to keep travis busy - adding myself to AUTHORS BF(WIN): where could report multiple hits, so choose first RF: use HIDE_WINDOWS_KNOWN_ERRORS instead of is_win to skip hooks tests BF(WIN): use where instead of which while looking for git RF(TST): skip all tests dealing with hooks on windows Disable (but keep for future uses commented out) hook into appveyor session RF: no "need" for custom shebang on windows since just does not work ENH: also report where on sh, and echo msg when entering on_finish ENH: add appveyor recipe to establish rdesktop login into the test box RF(+BF?): refactor hooks creation in a test, and may be make it compat with windows RF: last of flake8 fails - avoid using temp variable in a test BF: crazy tests ppl pass an object for status... uff -- catch TypeError too BF(PY26): {} -> {0}, i.e. explicit index for .format() RF: primarily flake8 lints + minor RF to reduce duplication in PATHEXT BF: wrap map into list, since iterator is not well digested by GitConfigParser BF: process included files before the rest version up
by popular demand ;)