From: Matheus Tavares Bernardino Date: Sat, 01 Feb 2020 04:44:04 GMT Subject: Re: [PATCH 0/7] fix inconsistent uses of the_repo in parse_object()'s call chain Message-ID: 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 wrote: > [...] > 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?