Derrick Stolee <derrickstolee@xxxxxxxxxx> writes: > I'd be willing to modify my suggested steps: > > >>> 1. v2.42.0 includes writing v2 format, off by default. > >>> 2. v2.43.0 writes v2 format by default. > >>> 3. v2.44.0 no longer parses v1 format (ignored without error). > > to something simpler: > > 1. v2.42.0 writes v2 format by default, but can be disabled by config. > 2. v2.43.0 no longer parses or writes v1 format. > > With this, we could proactively set the config value that disables the > v2 format in our production environment, then slowly re-enable that > config after the binaries have deployed. This allows us to limit the > blast radius if something goes wrong, which is really important. > > Further, I'm describing an environment where we control all of the Git > versions that are interacting with the repositories. Other environments > don't have that luxury, such as typical client users. > > Even the three-version plan is an accelerated deprecation plan, based > on previous examples in Git. > > Thanks, > -Stolee OK, let me take a look and see what this (having at least a version of Git that supports both versions of hash functions) would look like. If we're going to have this, we might as well roll it out as safely as possible, so I'll aim for your original step 1 of 3 (write v2, off by default).