gvfs-helper: simplify progress output during prefetch#594
Merged
derrickstolee merged 2 commits intomicrosoft:vfs-2.41.0.3from Aug 8, 2023
Merged
gvfs-helper: simplify progress output during prefetch#594derrickstolee merged 2 commits intomicrosoft:vfs-2.41.0.3from
derrickstolee merged 2 commits intomicrosoft:vfs-2.41.0.3from
Conversation
If we are showing progress, then we should do so only for how many prefetch packs are being downloaded. Stop sending the '-v' option to 'git index-pack' which creates too much noise. Signed-off-by: Derrick Stolee <derrickstolee@github.com>
When using a cache server to download multiple prefetch packs, the GVFS Protocol sends all packs in one download. This download is split into multiple files during that single HTTPS request. This also presents a single progress indicator such as Prefetch 1691384600 (2023-08-07 05:03:20 +0000) (bytes received): 25355702, done. After downloading all of these packs to the `tempPacks` directory of the shared object cache, we run `git index-pack` on each packfile individually. The previous change removed the verbose output of `git index-pack`, but that left the time spend indexing the packs without any progress indicator. Add a new progress indicator that ticks through the different prefetch pack-files that are being installed as we go. This presents a new progress indicator that terminates with output like Installing prefetch packfiles: 100% (14/14), done. This helps users understand what is going on without the extra noise of two output lines per `git index-pack` command. Signed-off-by: Derrick Stolee <derrickstolee@github.com>
jeffhostetler
approved these changes
Aug 7, 2023
dscho
pushed a commit
that referenced
this pull request
Aug 8, 2023
* [x] This change only applies to interactions with Azure DevOps and the
GVFS Protocol.
A user reported confusion when presented with the progress indicators
for several `git index-pack` subprocesses during a prefetch. This
happened by surprise, and is related to our issues with GVFS Cache
Servers rejecting credentials and thus halting background maintenance
until a foreground fetch happens.
In the meantime, we can modify our progress output to be simpler in this
case. There are two changes:
1. We unconditionally stifle output from `git index-pack`. It would be
preferrable to pass a `-q` parameter, but it is not available. This
prevents two progress indicators per prefetch packfile.
2. We add a conditional `Installing prefetch packfiles: ..% (X/Y)`
indicator in the loop that installs these packfiles via `git
index-pack`. This shows progress feedback frequently enough that users
know something is happening without overwhelming their terminal
interface.
dscho
pushed a commit
that referenced
this pull request
Aug 8, 2023
* [x] This change only applies to interactions with Azure DevOps and the
GVFS Protocol.
A user reported confusion when presented with the progress indicators
for several `git index-pack` subprocesses during a prefetch. This
happened by surprise, and is related to our issues with GVFS Cache
Servers rejecting credentials and thus halting background maintenance
until a foreground fetch happens.
In the meantime, we can modify our progress output to be simpler in this
case. There are two changes:
1. We unconditionally stifle output from `git index-pack`. It would be
preferrable to pass a `-q` parameter, but it is not available. This
prevents two progress indicators per prefetch packfile.
2. We add a conditional `Installing prefetch packfiles: ..% (X/Y)`
indicator in the loop that installs these packfiles via `git
index-pack`. This shows progress feedback frequently enough that users
know something is happening without overwhelming their terminal
interface.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GVFS Protocol.
A user reported confusion when presented with the progress indicators for several
git index-packsubprocesses during a prefetch. This happened by surprise, and is related to our issues with GVFS Cache Servers rejecting credentials and thus halting background maintenance until a foreground fetch happens.In the meantime, we can modify our progress output to be simpler in this case. There are two changes:
git index-pack. It would be preferrable to pass a-qparameter, but it is not available. This prevents two progress indicators per prefetch packfile.Installing prefetch packfiles: ..% (X/Y)indicator in the loop that installs these packfiles viagit index-pack. This shows progress feedback frequently enough that users know something is happening without overwhelming their terminal interface.