Git credential manager - seems slow to do git push even if there are no changes #1169
-
If I run "git push" in conemu it seems to take 7 or 8 seconds even if there are no changes. From 14:50:04 to 14:50:06 it seems to be validating credentials. I'm not sure if I have a configuration problem or if this behaviour is expected. It seemed slow to me, so I started looking into it. Also, I hope this is the right place for this question :) 14:50:04.004275 ...\Application.cs:95 trace: [RunInternalAsync] Version: 2.0.935.18315 14:50:09.326352 ...\Application.cs:95 trace: [RunInternalAsync] Version: 2.0.935.18315 |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
The logs show that GCM is invoked three times -- one "get" and two "store" commands. The time between is spent in Git. You can That first "get" seems slow, taking 3.0 seconds to retrieve stored credentials. The slowest part appears to be "Creating new HTTP client instance ... Custom certificate verification has been enabled" taking 1.2 seconds . GCM then makes a HTTP request in order to "Validated existing credentials using OAuth" taking 0.7 seconds. (If validation failed, GCM would do OAuth token refresh.) Are you conciously using custom certificate verification? I'm not familiar with this feature. As a workaround, perhaps you could turn it off, at least for certain hosts? An elegant fix in GCM would be to store the OAuth token expiry in Git's password_expiry_utc attribute (introduced Git 2.40) . With this information, a HTTP request to validate the OAuth credentials would no longer be necessary. This would save 1.9 seconds total. |
Beta Was this translation helpful? Give feedback.
This comment was marked as spam.
This comment was marked as spam.
-
As a heads up, we do have future plans to make use of the |
Beta Was this translation helpful? Give feedback.
As a heads up, we do have future plans to make use of the
password_expiry_utc
attribute to improve this workflow. Tracking at #268.