public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
From: "Burak Kaan Karaçay" <bkkaracay@gmail.com>
To: git@vger.kernel.org
Cc: christian.couder@gmail.com, karthik.188@gmail.com,
	jltobler@gmail.com, ayu.chandekar@gmail.com,
	siddharthasthana31@gmail.com, l.s.r@web.de, ps@pks.im,
	"Burak Kaan Karaçay" <bkkaracay@gmail.com>
Subject: [PATCH 2/4] run-command: use repo_start_command() in strict callers
Date: Wed, 11 Mar 2026 18:19:21 +0300	[thread overview]
Message-ID: <20260311151923.4178655-3-bkkaracay@gmail.com> (raw)
In-Reply-To: <20260311151923.4178655-1-bkkaracay@gmail.com>

Some callers have been freed from global state and they do not define
the 'USE_THE_REPOSITORY_VARIABLE' macro.

To complete the mitigation of 'start_command()', update these callers to
use repo_start_command() and pass their local 'struct repository' as an
argument, completely eliminating their hidden reliance on the global
state.

Signed-off-by: Burak Kaan Karaçay <bkkaracay@gmail.com>
---
 builtin/difftool.c | 4 ++--
 odb.c              | 2 +-
 pager.c            | 2 +-
 repack-promisor.c  | 2 +-
 send-pack.c        | 4 ++--
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/builtin/difftool.c b/builtin/difftool.c
index e4bc1f8316..15ac552edf 100644
--- a/builtin/difftool.c
+++ b/builtin/difftool.c
@@ -257,7 +257,7 @@ static void changed_files(struct repository *repo,
 	diff_files.out = -1;
 	diff_files.dir = workdir;
 	strvec_pushf(&diff_files.env, "GIT_INDEX_FILE=%s", index_path);
-	if (start_command(&diff_files))
+	if (repo_start_command(repo, &diff_files))
 		die("could not obtain raw diff");
 	fp = xfdopen(diff_files.out, "r");
 	while (!strbuf_getline_nul(&buf, fp)) {
@@ -437,7 +437,7 @@ static int run_dir_diff(struct repository *repo,
 	child->clean_on_exit = 1;
 	child->dir = prefix;
 	child->out = -1;
-	if (start_command(child))
+	if (repo_start_command(repo, child))
 		die("could not obtain raw diff");
 	fp = xfdopen(child->out, "r");
 
diff --git a/odb.c b/odb.c
index 776de5356c..8ec279f84e 100644
--- a/odb.c
+++ b/odb.c
@@ -535,7 +535,7 @@ static void read_alternate_refs(struct repository *repo,
 
 	fill_alternate_refs_command(repo, &cmd, path);
 
-	if (start_command(&cmd))
+	if (repo_start_command(repo, &cmd))
 		return;
 
 	fh = xfdopen(cmd.out, "r");
diff --git a/pager.c b/pager.c
index 5531fff50e..9a23ed958d 100644
--- a/pager.c
+++ b/pager.c
@@ -169,7 +169,7 @@ void setup_pager(struct repository *r)
 	prepare_pager_args(&pager_process, pager);
 	pager_process.in = -1;
 	strvec_push(&pager_process.env, "GIT_PAGER_IN_USE");
-	if (start_command(&pager_process))
+	if (repo_start_command(r, &pager_process))
 		die("unable to execute pager '%s'", pager);
 
 	/* original process continues, but writes to the pipe */
diff --git a/repack-promisor.c b/repack-promisor.c
index 90318ce150..dba161a11a 100644
--- a/repack-promisor.c
+++ b/repack-promisor.c
@@ -125,7 +125,7 @@ void pack_geometry_repack_promisors(struct repository *repo,
 	prepare_pack_objects(&cmd, args, packtmp);
 	strvec_push(&cmd.args, "--stdin-packs");
 	cmd.in = -1;
-	if (start_command(&cmd))
+	if (repo_start_command(repo, &cmd))
 		die(_("could not start pack-objects to repack promisor packs"));
 
 	in = xfdopen(cmd.in, "w");
diff --git a/send-pack.c b/send-pack.c
index 67d6987b1c..c339c3d1ca 100644
--- a/send-pack.c
+++ b/send-pack.c
@@ -92,7 +92,7 @@ static int pack_objects(struct repository *r,
 	po.out = args->stateless_rpc ? -1 : fd;
 	po.git_cmd = 1;
 	po.clean_on_exit = 1;
-	if (start_command(&po))
+	if (repo_start_command(r, &po))
 		die_errno("git pack-objects failed");
 
 	/*
@@ -459,7 +459,7 @@ static void get_commons_through_negotiation(struct repository *r,
 		return;
 	}
 
-	if (start_command(&child))
+	if (repo_start_command(r, &child))
 		die(_("send-pack: unable to fork off fetch subprocess"));
 
 	do {
-- 
2.53.0


  parent reply	other threads:[~2026-03-11 15:19 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-11 15:19 [PATCH 0/4] wean start_command() off the_repository Burak Kaan Karaçay
2026-03-11 15:19 ` [PATCH 1/4] run-command: add repo_start_command() Burak Kaan Karaçay
2026-03-11 15:19 ` Burak Kaan Karaçay [this message]
2026-03-11 19:26   ` [PATCH 2/4] run-command: use repo_start_command() in strict callers Junio C Hamano
2026-03-11 15:19 ` [PATCH 3/4] run-command: redefine start_command() as a wrapper macro Burak Kaan Karaçay
2026-03-11 15:19 ` [PATCH 4/4] cocci: convert start_command() to repo_start_command() Burak Kaan Karaçay
2026-03-11 18:18 ` [PATCH 0/4] wean start_command() off the_repository René Scharfe
2026-03-11 18:45   ` Jeff King
2026-03-11 19:09   ` Burak Kaan Karaçay
2026-03-11 19:35   ` Junio C Hamano
2026-03-11 19:30 ` Junio C Hamano
2026-03-12  8:53 ` [PATCH v2] run-command: " Burak Kaan Karaçay
2026-03-12 10:01   ` Patrick Steinhardt
2026-03-12 14:44 ` [PATCH v3 0/2] run-command: stop using the_repository Burak Kaan Karaçay
2026-03-12 14:44   ` [PATCH v3 1/2] run-command: wean start_command() off the_repository Burak Kaan Karaçay
2026-03-12 14:44   ` [PATCH v3 2/2] run-command: wean auto_maintenance() functions " Burak Kaan Karaçay
2026-03-12 15:29   ` [PATCH v3 0/2] run-command: stop using the_repository Junio C Hamano
2026-03-13  6:23     ` Patrick Steinhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260311151923.4178655-3-bkkaracay@gmail.com \
    --to=bkkaracay@gmail.com \
    --cc=ayu.chandekar@gmail.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jltobler@gmail.com \
    --cc=karthik.188@gmail.com \
    --cc=l.s.r@web.de \
    --cc=ps@pks.im \
    --cc=siddharthasthana31@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox