Re: Questions about the hash function transition
- From
Edward Thomson <ethomson@edwardthomson.com>
- Date
- Aug 28, 2018, 14:15 UTC
- Message-ID
- <CA+WKDT1k1SpHQmUKunV+vC+VLBfTBjZBgw+n4NeTE=oKxWL-Sg@mail.gmail.com>
- In-Reply-To
- <87h8jeeh2e.fsf@evledraar.gmail.com>
On Tue, Aug 28, 2018 at 2:50 PM, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
Show 13 quoted lines
> If we instead had something like clean/smudge filters: > > [extensions] > objectFilter = sha256-to-sha1 > compatObjectFormat = sha1 > [objectFilter "sha256-to-sha1"] > clean = ... > smudge = ... > > We could apply arbitrary transformations on objects through filters > which would accept/return some simple format requesting them to > translate such-and-such objects, and would either return object > names/types under which to store them, or "nothing to do".
If I'm understanding you correctly, then on the libgit2 side, I'm very much opposed to this proposal. We never execute commands, nor do I want to start thinking that we can do so arbitrarily. We run in environments where that's a non-starter
At present, in libgit2, users can provide their own mechanism for running clean/smudge filters. But hash transformation / compatibility is going to be a crucial compatibility component. So this is not something that we could simply opt out of or require users to implement themselves.
-ed