Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Milestones/m185 #1727

Merged
merged 10 commits into from
Mar 23, 2021
Merged

Milestones/m185 #1727

merged 10 commits into from
Mar 23, 2021

Conversation

jeffhostetler
Copy link

@jeffhostetler jeffhostetler commented Mar 19, 2021

Major Changes

  • Includes Git v2.31.0.
  • VFS for Git now only performs a minimum version check with the installed version of Git. This means that VFS for Git is compatible with Git versions v2.30.0.vfs.0.0 or greater, and users can upgrade Git independently from the microsoft/git releases page independently of VFS for Git.

Pull Requests

derrickstolee and others added 6 commits January 14, 2021 21:20
[HOTFIX] Update Git to remove ODB string check
This parsing is more robust to many different Git versions.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
We will use the following rules for testing the Git version is
compatible with the current version of VFS for Git:

1. The Platform must match ".vfs."

2. The version must be at least the fixed minimum revision.

3. The Revision must equal the current minimum revision.

This allows us to upgrade Git without updating VFS for Git. Thus, we
could reduce VFS for Git version upgrades when Git releases a security
update.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
The interface between `microsoft/git` and VFS for Git has been stable for a while. We don't anticipate changing it any time soon. Thus, we can drop the requirement of an _exact_ Git version match.

This PR changes the current logic in a few ways:

1. Take the full GitVersion parsing logic from `microsoft/scalar`, as it is more robust.
2. Remove the exact version match with a minimum version match.
3. Use a fixed constant version string instead of a build-time string.
4. Require that the `Revision` of the version string is an _exact_ match. We will use this to signal that a `microsoft/git` version introduces a breaking change that requires a VFS for Git upgrade.

What is a `Revision` item? In a Git version string such as `v2.X.Y.vfs.Z.W`, the `Revision` is represented by `Z`. This allows us to modify the other version items arbitrarily, including taking version numbers `2.X.Y` from upstream and updating `.W` if we have any hotfixes to `microsoft/git`.
Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
This includes the config option commitGraph.generationVersion.
Copy link
Member

@dscho dscho left a comment

Choose a reason for hiding this comment

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

Looks good to me!

@derrickstolee derrickstolee merged commit 7af7f4b into releases/shipped Mar 23, 2021
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