Skip to content

Conversation

@tyrielv
Copy link
Contributor

@tyrielv tyrielv commented Sep 12, 2025

The verbs 'clone', 'mount', 'prefetch', and 'cache-server' each perform a query to gvfs/config endpoint for two purposes: to get the list of allowed client versions for the server, and to get the list of preconfigured cache servers. Currently, if the query fails then the verb fails.

The most common reason for the query to fail appears to be transient network/authentication issues, making automount in particular more flaky than desired.

Mount and Prefetch verbs should always have a cache server configuration available already, and Clone and Cache-Server both have command-line options to allow specifying the cache server configuration.

This change modifies the verbs so that if a cache server url is already available (from local config or command-line option) then the verb will warn that the version could not be checked and continue instead of failing if the query to gvfs/config fails.

The verbs 'clone', 'mount', 'prefetch', and 'cache-server' each perform
a query to gvfs/config endpoint for two purposes: to get the list of
allowed client versions for the server, and to get the list of
preconfigured cache servers. Currently, if the query fails then the
verb fails.

The most common reason for the query to fail appears to be transient
network/authentication issues, making automount in particular more flaky
than desired.

Mount and Prefetch verbs should always have a cache server configuration
available already, and Clone and Cache-Server both have command-line
options to allow specifying the cache server configuration.

This change modifies the verbs so that if a cache server url is already
available (from local config or command-line option) then the verb will
warn that the version could not be checked and continue instead of
failing if the query to gvfs/config fails.
@tyrielv tyrielv requested a review from huskydawg September 24, 2025 17:07
Copy link
Contributor

@derrickstolee derrickstolee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For scalar clones, we had to do something similar by stopping the fallback to vanilla Git partial clones since the gvfs/config endpoint was flaky or caused issues if the sslbackend wasn't configured correctly. It's now a hard failure if the gvfs/config endpoint doesn't work at clone time. The only other time to use that endpoint is if the user asks to reconfigure the cache server info from the server.

So this seems like a valuable parallel change.

@tyrielv tyrielv merged commit 864de47 into microsoft:master Oct 6, 2025
49 checks passed
@mjcheetham mjcheetham mentioned this pull request Nov 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants