TST: test on travis while TMPDIR containing unicode chars#543
TST: test on travis while TMPDIR containing unicode chars#543yarikoptic wants to merge 4 commits intogitpython-developers:masterfrom
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 ;)