Subject: Re: [PATCH v3 0/2] run-command: stop using the_repository

From: Junio C Hamano <[email-masked]>
Date: Thu, 12 Mar 2026 08:29:52 -0700

Burak Kaan Karaçay <[email-masked]> writes:

> This patch series aims to remove the_repository dependency in
> 'run-command.c'.
>
> The first patch removes the dependency in start_command() by replacing
> the boolean 'close_object_store' flag with a pointer to the target
> object store.
>
> The second patch handles the prepare_auto_maintenance() and
> run_auto_maintenance() functions by passing a 'struct repository *'
> parameter. With no global repository dependencies left, it drops the
> USE_THE_REPOSITORY_VARIABLE macro from the file.
>
> Changes in v3:
> - Added the second patch at the suggestion of Patrick to fully clean up
>   the file.

[1/2] is now exactly as expected from the previous discussion.  The
only miniscule thing I found in [2/2] was a new blank line
introduced here, which seemed unnecessary and not in line with the
existing style in that function.

Otherwise, looking very good.  Will queue.  Thanks.

diff --git a/builtin/rebase.c b/builtin/rebase.c
index c487e10907..8c1316db38 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -562,7 +562,9 @@ static int finish_rebase(struct rebase_options *opts)
 	 * We ignore errors in 'git maintenance run --auto', since the
 	 * user should see them.
 	 */
-	run_auto_maintenance(!(opts->flags & (REBASE_NO_QUIET|REBASE_VERBOSE)));
+	run_auto_maintenance(the_repository,
+			!(opts->flags & (REBASE_NO_QUIET|REBASE_VERBOSE)));
+
 	if (opts->type == REBASE_MERGE) {
 		struct replay_opts replay = REPLAY_OPTS_INIT;