Rollout Git version v2.42.0
Changelog
Git v2.42.0 has been released, and we should be updating to it. Noticable changes:
- git-pack-refs(1) learned to take
--include
and--exclude
, which allows us to skip packing certain references. This is important in the context of the write-ahead log so that we don't pack write-ahead log references. - SHA256 is no longer marked as experimental.
- Git has learned to more efficiently exclude references, which should help repositories which have many hidden references.
- git-rev-list(1) has learned to take pseudo-refs like
--all
and--not
in--stdin
mode. - git-cat-file(1) has learned a new
-Z
switch, which uses NUL delimiters for both stdin and stdout.
Steps
-
Introduce the new Git version behind a feature flag (Reference). -
Introduce the new bundled Git version in the Makefile. -
Introduce the new bundled Git execution environment in the Git package behind a feature flag.
-
-
Roll out the feature flag. -
Create an issue for the rollout of the feature flag (Reference). -
Optional: Create a change request in case the new Git version contains changes that may cause issues. -
Roll out the feature flag. -
After a release containing feature flag, remove the feature flag.
-
-
Update the default Git version. This must happen in a release after the feature flag has been removed to avoid issues with zero-downtime upgrades. -
Optional: Upgrade the minimum required Git version. This is only needed when we want to start using features that have been introduced with the new Git version. -
Update the minimum required Git version in the Git package. (Reference) -
Update the minimum required Git version in the README.md. -
Update the GitLab release notes to reflect the new minimum required Git version. (Reference.
-
Edited by Karthik Nayak