Require Git 2.29 or later
When Git 2.28.0 is released, it will include reference transaction hooks (git#62 (comment 378037486)). These hooks are important for Strong consistency. Currently strong consistency is implemented through the currently available hooks, mostly pre-receive.
Problem
When the Gitaly team will transition to the reference transaction hooks, there would be a split based on Git version on behaviour. This creates technical complexity, as well as complexity for customers/support. As some features will work, or won't, based solely on the version of Git.
Additionally, there's a lot of work being done on repository maintenance, that requires 2.27 or above. Again creating a split in what does or doesn't work for customers.
Solution
When Git 2.28 is release, add it to the test matrix throughout GitLab (Gitaly, GitLab, GitLab-Build-Images, Omnibus) and bump the versions. In a set of follow up MRs, remove support for any older versions of Git.