git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Johannes Schindelin
Message 15 of 15 in “merge-recursive: use fspathcmp() in path_hashmap_cmp()”
  1. merge-recursive: use fspathcmp() in path_hashmap_cmp()René Scharfe, Aug 28, 2021
  2. Taylor BlauAug 29, 2021
  3. Jeff KingAug 29, 2021
  4. Junio C HamanoAug 30, 2021
  5. René ScharfeAug 30, 2021
  6. Jeff KingAug 30, 2021
  7. Junio C HamanoAug 30, 2021
  8. René ScharfeAug 30, 2021
  9. Jeff KingAug 30, 2021
  10. René ScharfeSep 11, 2021
  11. Johannes SchindelinSep 13, 2021
  12. Jeff KingSep 13, 2021
  13. Junio C HamanoSep 13, 2021
  14. Johannes SchindelinSep 14, 2021
  15. Jeff KingSep 14, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.