Re: [PATCH 0/7] fix inconsistent uses of the_repo in parse_object()'s call chain
- From
Matheus Tavares Bernardino <matheus.bernardino@usp.br>
- Date
- Feb 1, 2020, 04:44 UTC
- Message-ID
- <CAHd-oW4WBc0AmcZwmOBNNMVQW=JZ-pVhXf8ebL9exgPp13VvOQ@mail.gmail.com>
- In-Reply-To
- <20200131090329.GB2857810@coredump.intra.peff.net>
Hi, Peff
Thanks for the great feedback.
On Fri, Jan 31, 2020 at 6:03 AM Jeff King <peff@peff.net> wrote:
>
[...]
Show 17 quoted lines
> The hash transition document says: > > To convert recorded submodule pointers, you need to have the converted > submodule repository in place. The translation table of the submodule > can be used to look up the new hash. > > which I take to mean that the local copy of the submodule needs to match > the superproject hash (this says nothing about what the upstream owner > of the submodule wants to do; we'd be translating on the fly to the new > hash in the local repo). So using the_hash_algo would work either way. > > I don't think we're particularly interested in supporting multiple > unrelated repositories within the same process. While that would be > convenient for some cases (e.g., you have a million repositories and > want to look at all of their trees without creating a million > processes), I don't think it's a goal anyone is really working towards > with this "struct repository" layer.
Thanks for these explanations. One thing that left me thinking, though, is about changing the_hash_algo to r->hash_algo (not only in oid_to_hex()). I previously thought this would eventually be required for the hash transition. But if I understood your comment correctly, it might not be necessary since the submodule should always match the superproject hash. And, as you mentioned, supporting multiple unrelated repos [in a single process] is not one of the main goals, as well. So wouldn't keep using the_hash_algo be OK?