Re: [PATCH] merge-recursive: use fspathcmp() in path_hashmap_cmp()
- From
Jeff King <peff@peff.net>
- Date
- Sep 14, 2021, 14:11 UTC
- Message-ID
- <YUCtoa4Wv1GWT1LE@coredump.intra.peff.net>
- In-Reply-To
- <nycvar.QRO.7.76.6.2109141215140.55@tvgsbejvaqbjf.bet>
On Tue, Sep 14, 2021 at 12:18:35PM +0200, Johannes Schindelin wrote:
Show 6 quoted lines
> Seeing as there seems to be some appetite for refactoring Git's code on > this list, I am thinking that the `struct repository *r` direction might > be the one to go for. And I mean like "move the globals into that struct" > as opposed to introducing that stack you talked about. It would even be a > refactoring where I would understand the motivation, and agree with it, > too.
Oh, definitely. Regardless of whether step 2 is "pass around the repository struct" or "treat the global repository struct as a stack", step 1 must be putting repository-related globals into the struct. I don't think there can be any solution that doesn't start with that. :)
And I think it can even be done incrementally with very little impact. Just s/ignore_case/the_repository->ignore_case/ in the use-sites is an improvement over the status quo. Even though it doesn't _fix_ anything, now we can easily see where the dependencies on repo-variables are. And of course follow-on steps to make sure we are passing around and accessing the right repository struct are then welcome.
-Peff