Git development
 help / color / mirror / Atom feed
From: Colin Hinton <colinlewishinton@gmail.com>
To: git@vger.kernel.org
Cc: peff@peff.net, gitster@pobox.com,
	Colin Hinton <colinlewishinton@gmail.com>
Subject: [PATCH v2] chdir-notify.h: Removed unused param 'name'
Date: Fri, 14 Aug 2026 14:42:10 -0700	[thread overview]
Message-ID: <20260814214210.1625-1-colinlewishinton@gmail.com> (raw)
In-Reply-To: <20260814193849.1538-1-colinlewishinton@gmail.com>

The `name` parameter in `chdir_notify_entry` was only ever used by
chdir_notify_reparent() to produce trace output. That function was
removed in 5bf546755c (chdir-notify: drop unused
`chdir_notify_reparent()`, 2026-06-25), which left `name` with no
remaining consumers.

Prior to that removal, most callers had already stopped passing a
meaningful name, switching to NULL in 1f43ff2c7e (refs: unregister
reference stores from "chdir_notify", 2026-06-25) and 0de2467e6c
(odb/source-packed: start converting to a proper `struct odb_source`,
2026-06-17).

Since no caller has populated `name` with real data for some time,
and its last consumer is gone, drop it from chdir_notify_register(),
chdir_notify_unregister(), and the callback signature to simplify
the API.

Signed-off-by: Colin Hinton <colinlewishinton@gmail.com>
---
 chdir-notify.c          | 12 ++++--------
 chdir-notify.h          |  8 +++-----
 odb/source-files.c      |  7 +++----
 odb/source-loose.c      |  7 +++----
 odb/source-packed.c     |  7 +++----
 refs/files-backend.c    |  7 +++----
 refs/packed-backend.c   |  7 +++----
 refs/reftable-backend.c |  7 +++----
 setup.c                 |  5 ++---
 tmp-objdir.c            |  7 +++----
 10 files changed, 30 insertions(+), 44 deletions(-)

diff --git a/chdir-notify.c b/chdir-notify.c
index 1237a45e2e..55773c24c9 100644
--- a/chdir-notify.c
+++ b/chdir-notify.c
@@ -7,25 +7,22 @@
 #include "trace.h"
 
 struct chdir_notify_entry {
-	const char *name;
 	chdir_notify_callback cb;
 	void *data;
 	struct list_head list;
 };
 static LIST_HEAD(chdir_notify_entries);
 
-void chdir_notify_register(const char *name,
-			   chdir_notify_callback cb,
+void chdir_notify_register(chdir_notify_callback cb,
 			   void *data)
 {
 	struct chdir_notify_entry *e = xmalloc(sizeof(*e));
-	e->name = name;
 	e->cb = cb;
 	e->data = data;
 	list_add_tail(&e->list, &chdir_notify_entries);
 }
 
-void chdir_notify_unregister(const char *name, chdir_notify_callback cb,
+void chdir_notify_unregister(chdir_notify_callback cb,
 			     void *data)
 {
 	struct list_head *pos, *p;
@@ -34,8 +31,7 @@ void chdir_notify_unregister(const char *name, chdir_notify_callback cb,
 		struct chdir_notify_entry *e =
 			list_entry(pos, struct chdir_notify_entry, list);
 
-		if (e->cb != cb || e->data != data || !e->name != !name ||
-		    (e->name && strcmp(e->name, name)))
+		if (e->cb != cb || e->data != data)
 			continue;
 
 		list_del(pos);
@@ -64,7 +60,7 @@ int chdir_notify(const char *new_cwd)
 	list_for_each(pos, &chdir_notify_entries) {
 		struct chdir_notify_entry *e =
 			list_entry(pos, struct chdir_notify_entry, list);
-		e->cb(e->name, old_cwd.buf, new_cwd, e->data);
+		e->cb(old_cwd.buf, new_cwd, e->data);
 	}
 
 	strbuf_release(&old_cwd);
diff --git a/chdir-notify.h b/chdir-notify.h
index 36b4114472..e4ae38e12d 100644
--- a/chdir-notify.h
+++ b/chdir-notify.h
@@ -33,13 +33,11 @@
  * $GIT_TRACE_SETUP. It may be NULL, but if non-NULL should point to
  * storage which lasts as long as the registration is active.
  */
-typedef void (*chdir_notify_callback)(const char *name,
-				      const char *old_cwd,
+typedef void (*chdir_notify_callback)(const char *old_cwd,
 				      const char *new_cwd,
 				      void *data);
-void chdir_notify_register(const char *name, chdir_notify_callback cb, void *data);
-void chdir_notify_unregister(const char *name, chdir_notify_callback cb,
-			     void *data);
+void chdir_notify_register(chdir_notify_callback cb, void *data);
+void chdir_notify_unregister(chdir_notify_callback cb, void *data);
 
 /*
  *
diff --git a/odb/source-files.c b/odb/source-files.c
index 5a68af7d84..c12e2795ba 100644
--- a/odb/source-files.c
+++ b/odb/source-files.c
@@ -22,8 +22,7 @@
 #include "tree.h"
 #include "write-or-die.h"
 
-static void odb_source_files_reparent(const char *name UNUSED,
-				      const char *old_cwd,
+static void odb_source_files_reparent(const char *old_cwd,
 				      const char *new_cwd,
 				      void *cb_data)
 {
@@ -37,7 +36,7 @@ static void odb_source_files_reparent(const char *name UNUSED,
 static void odb_source_files_free(struct odb_source *source)
 {
 	struct odb_source_files *files = odb_source_files_downcast(source);
-	chdir_notify_unregister(NULL, odb_source_files_reparent, files);
+	chdir_notify_unregister(odb_source_files_reparent, files);
 	odb_source_free(&files->loose->base);
 	odb_source_free(&files->packed->base);
 	odb_source_release(&files->base);
@@ -763,7 +762,7 @@ struct odb_source_files *odb_source_files_new(struct object_database *odb,
 	 * paths in the primary ODB source in some user-facing functionality.
 	 */
 	if (!is_absolute_path(path))
-		chdir_notify_register(NULL, odb_source_files_reparent, files);
+		chdir_notify_register(odb_source_files_reparent, files);
 
 	return files;
 }
diff --git a/odb/source-loose.c b/odb/source-loose.c
index ef0e919277..6a594a6458 100644
--- a/odb/source-loose.c
+++ b/odb/source-loose.c
@@ -1006,8 +1006,7 @@ static void odb_source_loose_close(struct odb_source *source UNUSED)
 	/* Nothing to do. */
 }
 
-static void odb_source_loose_reparent(const char *name UNUSED,
-				      const char *old_cwd,
+static void odb_source_loose_reparent(const char *old_cwd,
 				      const char *new_cwd,
 				      void *cb_data)
 {
@@ -1023,7 +1022,7 @@ static void odb_source_loose_free(struct odb_source *source)
 	struct odb_source_loose *loose = odb_source_loose_downcast(source);
 	odb_source_loose_clear_cache(loose);
 	loose_object_map_clear(&loose->map);
-	chdir_notify_unregister(NULL, odb_source_loose_reparent, loose);
+	chdir_notify_unregister(odb_source_loose_reparent, loose);
 	odb_source_release(&loose->base);
 	free(loose);
 }
@@ -1053,7 +1052,7 @@ struct odb_source_loose *odb_source_loose_new(struct object_database *odb,
 	loose->base.write_alternate = odb_source_loose_write_alternate;
 
 	if (!is_absolute_path(loose->base.path))
-		chdir_notify_register(NULL, odb_source_loose_reparent, loose);
+		chdir_notify_register(odb_source_loose_reparent, loose);
 
 	return loose;
 }
diff --git a/odb/source-packed.c b/odb/source-packed.c
index 0890704e76..8d028971cd 100644
--- a/odb/source-packed.c
+++ b/odb/source-packed.c
@@ -786,8 +786,7 @@ static void odb_source_packed_prepare(struct odb_source *source,
 	packed->initialized = true;
 }
 
-static void odb_source_packed_reparent(const char *name UNUSED,
-				       const char *old_cwd,
+static void odb_source_packed_reparent(const char *old_cwd,
 				       const char *new_cwd,
 				       void *cb_data)
 {
@@ -816,7 +815,7 @@ static void odb_source_packed_free(struct odb_source *source)
 {
 	struct odb_source_packed *packed = odb_source_packed_downcast(source);
 
-	chdir_notify_unregister(NULL, odb_source_packed_reparent, packed);
+	chdir_notify_unregister(odb_source_packed_reparent, packed);
 
 	for (struct packfile_list_entry *e = packed->packs.head; e; e = e->next)
 		free(e->pack);
@@ -853,7 +852,7 @@ struct odb_source_packed *odb_source_packed_new(struct object_database *odb,
 	packed->base.write_alternate = odb_source_packed_write_alternate;
 
 	if (!is_absolute_path(path))
-		chdir_notify_register(NULL, odb_source_packed_reparent, packed);
+		chdir_notify_register(odb_source_packed_reparent, packed);
 
 	return packed;
 }
diff --git a/refs/files-backend.c b/refs/files-backend.c
index 1cc20aa486..71628550f2 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -111,8 +111,7 @@ static void clear_loose_ref_cache(struct files_ref_store *refs)
 	}
 }
 
-static void files_ref_store_reparent(const char *name UNUSED,
-				     const char *old_cwd,
+static void files_ref_store_reparent(const char *old_cwd,
 				     const char *new_cwd,
 				     void *payload)
 {
@@ -182,7 +181,7 @@ static struct ref_store *files_ref_store_init(struct repository *repo,
 		packed_ref_store_init(repo, NULL, refs->gitcommondir, opts);
 	refs->store_flags = opts->access_flags;
 
-	chdir_notify_register(NULL, files_ref_store_reparent, refs);
+	chdir_notify_register(files_ref_store_reparent, refs);
 
 	strbuf_release(&refdir);
 
@@ -234,7 +233,7 @@ static void files_ref_store_release(struct ref_store *ref_store)
 	free(refs->gitcommondir);
 	ref_store_release(refs->packed_ref_store);
 	free(refs->packed_ref_store);
-	chdir_notify_unregister(NULL, files_ref_store_reparent, refs);
+	chdir_notify_unregister(files_ref_store_reparent, refs);
 }
 
 static void files_reflog_path(struct files_ref_store *refs,
diff --git a/refs/packed-backend.c b/refs/packed-backend.c
index b9b04b7010..a73fc6aca7 100644
--- a/refs/packed-backend.c
+++ b/refs/packed-backend.c
@@ -217,8 +217,7 @@ static size_t snapshot_hexsz(const struct snapshot *snapshot)
 	return snapshot->refs->base.repo->hash_algo->hexsz;
 }
 
-static void packed_ref_store_reparent(const char *name UNUSED,
-				      const char *old_cwd,
+static void packed_ref_store_reparent(const char *old_cwd,
 				      const char *new_cwd,
 				      void *payload)
 {
@@ -248,7 +247,7 @@ struct ref_store *packed_ref_store_init(struct repository *repo,
 
 	strbuf_addf(&sb, "%s/packed-refs", gitdir);
 	refs->path = strbuf_detach(&sb, NULL);
-	chdir_notify_register(NULL, packed_ref_store_reparent, refs);
+	chdir_notify_register(packed_ref_store_reparent, refs);
 	return ref_store;
 }
 
@@ -293,7 +292,7 @@ static void packed_ref_store_release(struct ref_store *ref_store)
 	clear_snapshot(refs);
 	rollback_lock_file(&refs->lock);
 	delete_tempfile(&refs->tempfile);
-	chdir_notify_unregister(NULL, packed_ref_store_reparent, refs);
+	chdir_notify_unregister(packed_ref_store_reparent, refs);
 	free(refs->path);
 }
 
diff --git a/refs/reftable-backend.c b/refs/reftable-backend.c
index 028f0211af..08a75fb328 100644
--- a/refs/reftable-backend.c
+++ b/refs/reftable-backend.c
@@ -391,8 +391,7 @@ static const struct reftable_be_write_options *reftable_be_write_options(struct
 	return opts;
 }
 
-static void reftable_be_reparent(const char *name UNUSED,
-				 const char *old_cwd,
+static void reftable_be_reparent(const char *old_cwd,
 				 const char *new_cwd,
 				 void *payload)
 {
@@ -465,7 +464,7 @@ static struct ref_store *reftable_be_init(struct repository *repo,
 			goto done;
 	}
 
-	chdir_notify_register(NULL, reftable_be_reparent, refs);
+	chdir_notify_register(reftable_be_reparent, refs);
 
 done:
 	assert(refs->err != REFTABLE_API_ERROR);
@@ -492,7 +491,7 @@ static void reftable_be_release(struct ref_store *ref_store)
 		free(be);
 	}
 	strmap_clear(&refs->worktree_backends, 0);
-	chdir_notify_unregister(NULL, reftable_be_reparent, refs);
+	chdir_notify_unregister(reftable_be_reparent, refs);
 }
 
 static int reftable_be_create_on_disk(struct ref_store *ref_store,
diff --git a/setup.c b/setup.c
index 95909e9603..671f88201d 100644
--- a/setup.c
+++ b/setup.c
@@ -1057,8 +1057,7 @@ static void apply_gitdir_and_environment(struct repository *repo, const char *pa
 	strvec_clear(&to_free);
 }
 
-static void update_relative_gitdir(const char *name UNUSED,
-				   const char *old_cwd,
+static void update_relative_gitdir(const char *old_cwd,
 				   const char *new_cwd,
 				   void *data)
 {
@@ -1086,7 +1085,7 @@ static void apply_and_export_relative_gitdir(struct repository *repo, const char
 	xsetenv(GIT_DIR_ENVIRONMENT, path, 1);
 
 	if (!is_absolute_path(path))
-		chdir_notify_register(NULL, update_relative_gitdir, repo);
+		chdir_notify_register(update_relative_gitdir, repo);
 
 	strbuf_release(&realpath);
 }
diff --git a/tmp-objdir.c b/tmp-objdir.c
index d199d39e7c..520df2df8c 100644
--- a/tmp-objdir.c
+++ b/tmp-objdir.c
@@ -37,8 +37,7 @@ static void tmp_objdir_free(struct tmp_objdir *t)
 	free(t);
 }
 
-static void tmp_objdir_reparent(const char *name UNUSED,
-				const char *old_cwd,
+static void tmp_objdir_reparent(const char *old_cwd,
 				const char *new_cwd,
 				void *cb_data)
 {
@@ -67,7 +66,7 @@ int tmp_objdir_destroy(struct tmp_objdir *t)
 
 	err = remove_dir_recursively(&t->path, 0);
 
-	chdir_notify_unregister(NULL, tmp_objdir_reparent, t);
+	chdir_notify_unregister(tmp_objdir_reparent, t);
 	tmp_objdir_free(t);
 
 	return err;
@@ -155,7 +154,7 @@ struct tmp_objdir *tmp_objdir_create(struct repository *r,
 		    repo_get_object_directory(r), prefix);
 
 	if (!is_absolute_path(t->path.buf))
-		chdir_notify_register(NULL, tmp_objdir_reparent, t);
+		chdir_notify_register(tmp_objdir_reparent, t);
 
 	if (!mkdtemp(t->path.buf)) {
 		/* free, not destroy, as we never touched the filesystem */
-- 
2.55.0.windows.3


      parent reply	other threads:[~2026-08-14 21:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-14 19:38 [PATCH] chdir-notify.h: Removed unused param 'name' Colin Hinton
2026-08-14 20:31 ` Jeff King
2026-08-14 20:42   ` Junio C Hamano
2026-08-14 21:42 ` Colin Hinton [this message]

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=20260814214210.1625-1-colinlewishinton@gmail.com \
    --to=colinlewishinton@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    /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