Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork938
Test project on Windows with MINGW git (conda2.7&3.4/cpy-3.5)#519
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
@ankostis Totally awesome ! Even though I won't be of much help, I do hope that fixing the windows issues work out in the end. That would restore windows platform support and keep it, after all these years of supporting it just on a best-effort basis, which meant not to obviously use non-windows APIs. |
1774f98
tod773d40
Compare+ Del extra spaces, import os.path as osp
Yes, that's a start. |
5899c59
tod12fdca
Compare@Byron the |
+ Pump once, so when input larger than `mmap.PAGESIZE`, stream is notemptied.
+ Pump once, so when input larger than `mmap.PAGESIZE`, stream is notemptied.
+ Pump once, so when input larger than `mmap.PAGESIZE`, stream is notemptied.
+ Pump code reads only once streams per `_read_lines_from_fno()`invocation, so when input larger than `mmap.PAGESIZE`, bytes areforgotten in the stream.
+ The code in `_read_lines_from_fno()` was reading the stream only onceper invocation, so when input was larger than `mmap.PAGESIZE`, byteswere forgotten in the stream.+ Also set deamon-threads.
+ The code in `_read_lines_from_fno()` was reading the stream only onceper invocation, so when input was larger than `mmap.PAGESIZE`, byteswere forgotten in the stream.+ Replaced buffer-banging code with iterate-on-file-descriptors.+ Also set deamon-threads.
+ The code in `_read_lines_from_fno()` was reading the stream only onceper invocation, so when input was larger than `mmap.PAGESIZE`, byteswere forgotten in the stream.+ Replaced buffer-building code with iterate-on-file-descriptors.+ Also set deamon-threads.
ankostis commentedSep 26, 2016 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@Byron that was a tough one! I replaced the buffer-assembly code with iterate-on-file-descriptors. Actually the code is so simple that it maybe worth to replace theselect-poll with the 2-pumps code, for all OSs? Many A side question:
Is that possible? I would expect any language allowing such "gap" to be considered outright broken. |
…`assertRaisesRegexp`
…`assertRaisesRegexp`
Just pushed one last commit with those 3 TCs appropriately skipped.
Actually quite the contrary: I can only reproduce it when i run the full harness; if i launch these 2 TCs alone, they pass! So practically, I cannot enter debug-mode - I have to wait 2' just to reach this point.
Have not received an invitation yet. |
I have just re-invited you, maybe it comes through. Otherwise you would just have to visithttps://github.com/gitpython-developers to see the invitation. Your last commit was not part of my merge, I will fetch it separately. |
+ Just to see Apveyor all green and merge; the TCs HAVE TO BE FIXED.
@ankostis I think it worked ! The last commit has been cherry-picked and AppVeyor is on its way to all-green ! Even though it's not the real thing just yet, I call it an impressive piece of work! Thanks so much ! Right now I wouldn't know how to tackle the smmap issue, just as it's hard to fix anything in a project that is installed as a dependency. Probably it would be easiest if it would be reproducible locally, which I can't even do. |
ankostis commentedOct 1, 2016 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@Byron many of the fixes in this PR can be applied also ongitdb, and as you said (haven't checked) onsmmp. Is there a chance to tackle these issues in these projects? Or are they "frozen" somehow? I mean, a lot of problems just go away if resource classes are retrofitted as What do you think, is it worth the effort (but cna't promise anything)? |
For reference, reporting the CORRECTAppveyor results after#521 fixes by yarikoptic & ankostis restored skipped TCs: PY27: 5 errors: |
…preferredencoding()`+ On Windows, this is the default encoding (usually, the mate-encoding`mcbs' which points to the current code-page (i.e. `cp1252` for Europe).
@ankostis With the latest upgrade of gitdb and smmap to 2.0, it's finally possible again to make new releases. This would allow the changes you talk about to be retro-fitted indeed, and given all the subtle problems GitPython has, it would certainly be worth doing that. |
In the git.diff.Diff class, the _index_from_patch_format and_index_from_raw_format methods' docstrings had still described themas reading from streams, even though they have instead read fromprocesses (and taken "proc", not "stream", arguments) sincegitpython-developers#519when the change was made ina5db3d3 to fix a freezing bug.This updates the docstrings to reflect that they read fromprocesses.
In the git.diff.Diff class, the _index_from_patch_format and_index_from_raw_format methods' docstrings had still described themas reading from streams, even though they have instead read fromprocesses (and taken "proc", not "stream", arguments) sincegitpython-developers#519when the change was made ina5db3d3 to fix a freezing bug.This updates the docstrings to reflect that they read fromprocesses.
In the git.diff.Diff class, the _index_from_patch_format and_index_from_raw_format methods' docstrings had still described themas reading from streams, even though they have instead read fromprocesses (and taken "proc", not "stream", arguments) sincegitpython-developers#519when the change was made ina5db3d3 to fix a freezing bug.This updates the docstrings to reflect that they read fromprocesses.
In the git.diff.Diff class, the _index_from_patch_format and_index_from_raw_format methods' docstrings had still described themas reading from streams, even though they have instead read fromprocesses (and taken "proc", not "stream", arguments) sincegitpython-developers#519when the change was made ina5db3d3 to fix a freezing bug.This updates the docstrings to reflect that they read fromprocesses.
Uh oh!
There was an error while loading.Please reload this page.
poll/select
buffer-assembly code with pump-threads (Win TCs faling 90-->20!) and rework unicode handling in many places.Popen()
procs it withsubprocess.CREATE_NEW_PROCESS_GROUP
so that they can be killed.git-daemon
(instead ofgit daemon
); otherwise it detaches (unix-ism here) from parent git cmd, and then CANNOT DIE!Popen().proc.stdout/stderr
from the launching-thread, it freezes due to GIL/buffering.+Rework GitCommandError.str() and add TCs on unicode handling.
with GitConfigarser()
more systematically in TCs..git
file prior overwrite; Windows denied otherwise!git add <file>
case, PY2 fails when args are unicode.Must encode them with
locale.getpreferredencoding()
AND use SHELL.shell
intoexecute()
kwds, for overriding USE_SHELL percommand.
communicate()
in_clone()
with thread-pumps (UNNECESSARY, seethis later discussion).with...
construct (not complete).Popen()
calls, to collect cmd usage.Apveyor results