kart
kart copied to clipboard
Progress information in working copy checkout
There's no indication when sno push, pull, or clone might be done.
Underlying git commands support this so a fix will be reasonably straightforward.
@rcoup wrote:
Most git-fetch/git-push output isn't really useful for anyone IMO (counting/enumerating what?). Pygit2 remotes have a whole callback setup, I would prefer to use that and output something sensible for us, and for machine-readable maybe jsonl to stderr with the raw TransferProgress stats & sideband_progress info?
In the meantime I think it's probably ok, we can always rework the output further down the track.
We also need to report progress when writing / rewriting working copies, since that can take an even longer
Using submodules introduces more complexities, since they're fetched in parallel normally. Not sure whether that applies to subtrees too.
In 6d08db3c094164c61b57c7123dc7696cbb575375 I added usable progress for working copy checkouts. It's not pretty (at all), and you have to use sno -v checkout
to get the logger to show up, but it's machine readable at least.
IMO we should implement progress ourselves via pygit2 rather than call git commands in a subprocess. That way we can do something consistent across different commands.
This can probably be closed. We have good progress information now for clones, working copy creation, as well as LFS push/pull.