-
-
Notifications
You must be signed in to change notification settings - Fork 913
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
RemoteProgress update broken while fetching #1969
Comments
Thanks for reporting. Parsing should happen in real-time even though this looks like it's not able to separate the lines, or it sees all lines at once for some reason. Maybe it's related to synchronization also in the relation to how the program that uses GitPython is written, even though it seems to work with So maybe it would be possible to find a difference between the |
With GitPython 3.1.40, it works well, progress bar is not broken on fetch sub command. |
This is broken from 3.1.41. |
Here dumps of handle process output while fetching:
Output with working progress bar (v3.1.40):
|
underlying engine is the same, but input stream parsed is not. |
Okay, seems that i found something interresting. I'll push a pull request (w/ working progress bar) |
See gitpython-developers#1969 stderr parser call RemoteProgress update on each line received. With universal_newlines set to False, there is a mixup between line feed and carriage return. In the `handle_process_output` thread, this is thus seen as a single line for the whole output on each steps.
Used version
Git
: 2.34.1GitPython
: 3.1.43Python
: 3.10.12FYI, progress bar rendered with
rich
(13.7.1)Issue
RemoteProgress update method is called with ill-formed parameters when use with
remote.fetch
and thus leading to broken progress bar. This is working well withclone
and/orclone_from
. Update is called only once per git operation (e.g.COUNTING
,COMPRESSING
) withBEGIN
andEND
opcode flag set and all messages concatenated.It seems that remote progress lines are not parsed correctly while fetching remote.
Correct behavior with clone
Broken progress bar with fetch
The text was updated successfully, but these errors were encountered: