Skip to content

Rollout Git version v2.50.0

Changelog

Steps

Introducing a new Git version

  • Add the new bundled Git version in the Makefile (Reference).
    • Update the build-bundled-git and install-bundled-git targets as necessary.
    • For a minor version bumps and above, add a new target under the # These targets build specific releases of Git. section corresponding to the new version.
  • Introduce the new bundled Git execution environment in the Git package behind a 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 (Announce to #g_gitaly and #g_git).
    • Default enable the feature flag once the upgrade is deemed stable. You can do this in same release that added the feature flag initially.
    • Remove the feature flag after there has been at least one release with the feature flag default enabled. This is not a requirement since we bundle Git with Gitaly, but more of a safety precaution taken to ensure there is sufficient time for rollbacks/reverts.

Removing an old Git version

  • Remove the old bundled Git version from the Makefile
    • Update the build-bundled-git and install-bundled-git targets as necessary.
    • Remove any unused targets under the # These targets build specific releases of Git. section corresponding to the old version.
  • Remove the old bundled Git execution environment from the Git package.

Upgrading the minimum required Git version

Optional: 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 Justin Tobler
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information