-
Notifications
You must be signed in to change notification settings - Fork 540
Improve the cloning progress reporting #549
Comments
The Progress is a server side communication system, the information written there is reported as an implementation detail of it. This feature IMHO felts outside of the scope of a library. This can be done wrapping object storer. (In order to retrieve the count) |
I think this is a interesting observation and something that I noticed as well while looking into creating a patch for #528.
In other situations the sideband will carry additional data. For example, it might include the output of custom git hooks which are running on the server side during push or fetch. That being said, I can see where having some other progress reporting of client side processing is useful. |
@mcuadros I will be grateful if you show me how to wrap the |
I'm interested in more go-git (non-sideband) status information as well, not just for clone/fetch but also for push. I've written up a summary of what I think is useful here: #570 (comment). A cross-post of the stages I think are useful for clone/fetch (from the perspective of someone using the "file" protocol to fetch from a local git repo):
|
I wrote a quick example. |
Currently,
git.CloneOptions.Progress
only reports the server's messages, as clearly stated in the documentation. However, server-side usually takes 1% of the whole cloning time, and the rest is receiving the objects and decompressing/resolving deltas. This rendersProgress
nearly useless: 99% of the time it showsCompressing objects: 100% (3000/3000), done.
or similar.I propose to add the local messages to
Progress
- at least the ratio of fetched objects and anything else which is relevant.The text was updated successfully, but these errors were encountered: