All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] rerere: remove global state
@ 2026-10-23 12:50 Patrick Steinhardt
  2026-10-23 12:50 ` [PATCH 1/7] rerere: stop using `the_repository` in `rerere_path()` Patrick Steinhardt
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Patrick Steinhardt @ 2026-10-23 12:50 UTC (permalink / raw)
  To: git

Hi,

I got sucked down a rabbit hole once again while reviewing
tb/rerere-wait-for-merge-rr-lock. I originally wanted to refactor the
rerere subsystem to use subcommands, and I did. But while doing those
refactorings I also started getting rid of global state, and that has
expanded in scope more than I was originally expecting.

So I split out this refactoring into its separate patch series, which is
this one here. On the one hand it gets rid of `the_repository`. On the
other hand it also refactors "rerere.c" to not track state via global
variables anymore so that it can be used multiple times for different
repositories.

This series is based on 7e34d8174d (The 8th batch, 2026-10-22) with
tb/rerere-wait-for-merge-rr-lock at 5f6b6aa3ab (rerere: add "gc
--skip-locked" for auto maintenance, 2026-10-13) merged into it.

Thanks!

Patrick

---
Patrick Steinhardt (7):
      rerere: stop using `the_repository` in `rerere_path()`
      rerere: stop using `the_repository` in internal helpers
      rerere: remove redundant calls to `repo_config()`
      rerere: cache result of `is_rerere_enabled()`
      rerere: stop using `the_repository`
      rerere: bundle global state into a struct
      rerere: get rid of global rerere cache state

 builtin/rerere.c |  21 ++--
 hex.c            |   4 +-
 hex.h            |   3 +
 repository.c     |   1 +
 repository.h     |   6 ++
 rerere.c         | 309 ++++++++++++++++++++++++++++++-------------------------
 rerere.h         |  23 ++++-
 7 files changed, 216 insertions(+), 151 deletions(-)


---
base-commit: 13ef06d9d38088a2d97f612dca15fcd472f7b8ed
change-id: 20261022-pks-rerere-wo-the-repository-f6620accf4ee


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-10-26  7:28 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-23 12:50 [PATCH 0/7] rerere: remove global state Patrick Steinhardt
2026-10-23 12:50 ` [PATCH 1/7] rerere: stop using `the_repository` in `rerere_path()` Patrick Steinhardt
2026-10-23 12:50 ` [PATCH 2/7] rerere: stop using `the_repository` in internal helpers Patrick Steinhardt
2026-10-23 12:50 ` [PATCH 3/7] rerere: remove redundant calls to `repo_config()` Patrick Steinhardt
2026-10-23 12:50 ` [PATCH 4/7] rerere: cache result of `is_rerere_enabled()` Patrick Steinhardt
2026-10-23 12:50 ` [PATCH 5/7] rerere: stop using `the_repository` Patrick Steinhardt
2026-10-23 12:50 ` [PATCH 6/7] rerere: bundle global state into a struct Patrick Steinhardt
2026-10-23 12:50 ` [PATCH 7/7] rerere: get rid of global rerere cache state Patrick Steinhardt
2026-10-23 17:04   ` Junio C Hamano
2026-10-26  7:28     ` Patrick Steinhardt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.