feat: Allow config cache for microsoft/git 2.53.0.vfs.0.1+#2296
Merged
mjcheetham merged 1 commit intogit-ecosystem:mainfrom Mar 18, 2026
Merged
feat: Allow config cache for microsoft/git 2.53.0.vfs.0.1+#2296mjcheetham merged 1 commit intogit-ecosystem:mainfrom
mjcheetham merged 1 commit intogit-ecosystem:mainfrom
Conversation
Context: The config cache version gate requires Git 2.54.0+ because that is when upstream Git will include the fix for 'git config list --type=<X>'. However, the microsoft/git fork may fast-track this fix into a 2.53.0.vfs.0.1 release, allowing users of Git for Windows (VFS-enabled builds) to benefit from the cache sooner. Justification: The microsoft/git fork uses version strings like '2.53.0.vfs.0.1' where the '.vfs.' marker distinguishes it from upstream Git. GitVersion parsing stops at the non-integer 'vfs' component, so a simple numeric comparison would treat this as 2.53.0 and disable caching. We need an additional check that recognizes VFS builds and compares their suffix version. The base version (2.53.0) and VFS suffix (0.1) are checked separately, allowing any future 2.53+ VFS build with the fix to also benefit. Upstream 2.54.0+ continues to pass the existing numeric check without hitting the VFS path. Implementation: Added SupportsConfigListType() helper that first checks the upstream minimum (2.54.0), then looks for '.vfs.' in the original version string. For VFS builds, it parses the base version and VFS suffix independently and checks both against their respective minimums (2.53.0 and 0.1). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mjcheetham
approved these changes
Mar 18, 2026
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.
This is a small modification on top of #2268 that updates the Git version check to allow using the cached list of config values when using the latest microsoft/git release.
The 2.53.0.vfs.0.1 (and later) releases have microsoft/git#863 which fast-tracked the upstream Git feature that enables this behavior.
Getting a GCM release with this version check will allow us to dogfood this performance feature.
I expect that we'd want to release GCM with this feature and have users manually install GCM from the GitHub releases page instead of waiting for a new microsoft/git release that bundles it.
I have run the test suite with this branch with microsoft/git v2.53.0.vfs.0.2 installed. I also tested by adding some thrown exceptions in the logic that only activates when the Git version check works, and that proved that the test suite does cover these cases when the right Git version exists.