I have noticed that git operations slowed down recently, it might be related to the upgrade of git and using credential-manager-core instead of credential-manager, I've tried to diagnose the issue using GCM_TRACE=1 git fetch
, looks like I might have messed up my configuration:
[GetProviderAsync] Checking against 3 host providers registered with priority 'Normal'.
My colleague does not see such line and only one host provider is checked. How can I change the configuration of host providers used by git credential manager?
Update: Using a portable version of git did not help, trace output below:
[RunInternalAsync] Version: 2.0.394.50751
[RunInternalAsync] Runtime: .NET Framework 4.0.30319.42000
[RunInternalAsync] Platform: Windows (x86-64)
[RunInternalAsync] AppPath: git-credential-manager-core
[RunInternalAsync] Arguments: get
[ExecuteAsync] Start 'get' command...
[ExecuteAsync] Detecting host provider for input:
[ExecuteAsync] protocol=https
[ExecuteAsync] host=dev.azure.com
[ExecuteAsync] path=........
[ExecuteAsync] username=........
[GetProviderAsync] Performing auto-detection of host provider.
[GetProviderAsync] Checking against 3 host providers registered with priority 'Normal'.
[ExecuteAsync] Host provider 'Azure Repos' was selected.
[GetCredentialAsync] Looking for existing credential in store with service=https://........ account=...
[GetCredentialAsync] Existing credential found.
[ExecuteAsync] End 'get' command...
[RunInternalAsync] Version: 2.0.394.50751
[RunInternalAsync] Runtime: .NET Framework 4.0.30319.42000
[RunInternalAsync] Platform: Windows (x86-64)
[RunInternalAsync] AppPath: git-credential-manager-core
[RunInternalAsync] Arguments: store
[ExecuteAsync] Start 'store' command...
[ExecuteAsync] Detecting host provider for input:
[ExecuteAsync] protocol=https
[ExecuteAsync] host=........
[ExecuteAsync] path=................
[ExecuteAsync] username=..............
[ExecuteAsync] password=********
[GetProviderAsync] Performing auto-detection of host provider.
[GetProviderAsync] Checking against 3 host providers registered with priority 'Normal'.
[ExecuteAsync] Host provider 'Azure Repos' was selected.
[StoreCredentialAsync] Storing credential with service=............. account=...............
[StoreCredentialAsync] Credential was successfully stored.
[ExecuteAsync] End 'store' command...
Number of registered host providers seems suspicious but I do not know how it can be changed. Also - storing credentials on each fetch does not seem like an efficient thing to do.
Update 2: Switching to SSH authorization did not help much, so the root cause of delays is not related to GCM. I'll investiage a bit more and probably close the question.