chdir-notify.h: Removed unused param 'name'
The `name` parameter in `chdir_notify_entry` was only ever used by chdir_notify_reparent() to produce trace output. That function was removed inmain5bf546755c(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 in1f43ff2c7e(refs: unregister reference stores from "chdir_notify", 2026-06-25) and0de2467e6c(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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
parent
3442a0fb79
commit
f17d211c97
|
|
@ -7,25 +7,22 @@
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
|
|
||||||
struct chdir_notify_entry {
|
struct chdir_notify_entry {
|
||||||
const char *name;
|
|
||||||
chdir_notify_callback cb;
|
chdir_notify_callback cb;
|
||||||
void *data;
|
void *data;
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
};
|
};
|
||||||
static LIST_HEAD(chdir_notify_entries);
|
static LIST_HEAD(chdir_notify_entries);
|
||||||
|
|
||||||
void chdir_notify_register(const char *name,
|
void chdir_notify_register(chdir_notify_callback cb,
|
||||||
chdir_notify_callback cb,
|
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
struct chdir_notify_entry *e = xmalloc(sizeof(*e));
|
struct chdir_notify_entry *e = xmalloc(sizeof(*e));
|
||||||
e->name = name;
|
|
||||||
e->cb = cb;
|
e->cb = cb;
|
||||||
e->data = data;
|
e->data = data;
|
||||||
list_add_tail(&e->list, &chdir_notify_entries);
|
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)
|
void *data)
|
||||||
{
|
{
|
||||||
struct list_head *pos, *p;
|
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 =
|
struct chdir_notify_entry *e =
|
||||||
list_entry(pos, struct chdir_notify_entry, list);
|
list_entry(pos, struct chdir_notify_entry, list);
|
||||||
|
|
||||||
if (e->cb != cb || e->data != data || !e->name != !name ||
|
if (e->cb != cb || e->data != data)
|
||||||
(e->name && strcmp(e->name, name)))
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
list_del(pos);
|
list_del(pos);
|
||||||
|
|
@ -64,7 +60,7 @@ int chdir_notify(const char *new_cwd)
|
||||||
list_for_each(pos, &chdir_notify_entries) {
|
list_for_each(pos, &chdir_notify_entries) {
|
||||||
struct chdir_notify_entry *e =
|
struct chdir_notify_entry *e =
|
||||||
list_entry(pos, struct chdir_notify_entry, list);
|
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);
|
strbuf_release(&old_cwd);
|
||||||
|
|
|
||||||
|
|
@ -33,13 +33,11 @@
|
||||||
* $GIT_TRACE_SETUP. It may be NULL, but if non-NULL should point to
|
* $GIT_TRACE_SETUP. It may be NULL, but if non-NULL should point to
|
||||||
* storage which lasts as long as the registration is active.
|
* storage which lasts as long as the registration is active.
|
||||||
*/
|
*/
|
||||||
typedef void (*chdir_notify_callback)(const char *name,
|
typedef void (*chdir_notify_callback)(const char *old_cwd,
|
||||||
const char *old_cwd,
|
|
||||||
const char *new_cwd,
|
const char *new_cwd,
|
||||||
void *data);
|
void *data);
|
||||||
void chdir_notify_register(const char *name, chdir_notify_callback cb, void *data);
|
void chdir_notify_register(chdir_notify_callback cb, void *data);
|
||||||
void chdir_notify_unregister(const char *name, chdir_notify_callback cb,
|
void chdir_notify_unregister(chdir_notify_callback cb, void *data);
|
||||||
void *data);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,7 @@
|
||||||
#include "strbuf.h"
|
#include "strbuf.h"
|
||||||
#include "write-or-die.h"
|
#include "write-or-die.h"
|
||||||
|
|
||||||
static void odb_source_files_reparent(const char *name UNUSED,
|
static void odb_source_files_reparent(const char *old_cwd,
|
||||||
const char *old_cwd,
|
|
||||||
const char *new_cwd,
|
const char *new_cwd,
|
||||||
void *cb_data)
|
void *cb_data)
|
||||||
{
|
{
|
||||||
|
|
@ -27,7 +26,7 @@ static void odb_source_files_reparent(const char *name UNUSED,
|
||||||
static void odb_source_files_free(struct odb_source *source)
|
static void odb_source_files_free(struct odb_source *source)
|
||||||
{
|
{
|
||||||
struct odb_source_files *files = odb_source_files_downcast(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->loose->base);
|
||||||
odb_source_free(&files->packed->base);
|
odb_source_free(&files->packed->base);
|
||||||
odb_source_release(&files->base);
|
odb_source_release(&files->base);
|
||||||
|
|
@ -292,7 +291,7 @@ struct odb_source_files *odb_source_files_new(struct object_database *odb,
|
||||||
* paths in the primary ODB source in some user-facing functionality.
|
* paths in the primary ODB source in some user-facing functionality.
|
||||||
*/
|
*/
|
||||||
if (!is_absolute_path(path))
|
if (!is_absolute_path(path))
|
||||||
chdir_notify_register(NULL, odb_source_files_reparent, files);
|
chdir_notify_register(odb_source_files_reparent, files);
|
||||||
|
|
||||||
return files;
|
return files;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -675,8 +675,7 @@ static void odb_source_loose_close(struct odb_source *source UNUSED)
|
||||||
/* Nothing to do. */
|
/* Nothing to do. */
|
||||||
}
|
}
|
||||||
|
|
||||||
static void odb_source_loose_reparent(const char *name UNUSED,
|
static void odb_source_loose_reparent(const char *old_cwd,
|
||||||
const char *old_cwd,
|
|
||||||
const char *new_cwd,
|
const char *new_cwd,
|
||||||
void *cb_data)
|
void *cb_data)
|
||||||
{
|
{
|
||||||
|
|
@ -692,7 +691,7 @@ static void odb_source_loose_free(struct odb_source *source)
|
||||||
struct odb_source_loose *loose = odb_source_loose_downcast(source);
|
struct odb_source_loose *loose = odb_source_loose_downcast(source);
|
||||||
odb_source_loose_clear_cache(loose);
|
odb_source_loose_clear_cache(loose);
|
||||||
loose_object_map_clear(&loose->map);
|
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);
|
odb_source_release(&loose->base);
|
||||||
free(loose);
|
free(loose);
|
||||||
}
|
}
|
||||||
|
|
@ -722,7 +721,7 @@ struct odb_source_loose *odb_source_loose_new(struct object_database *odb,
|
||||||
loose->base.write_alternate = odb_source_loose_write_alternate;
|
loose->base.write_alternate = odb_source_loose_write_alternate;
|
||||||
|
|
||||||
if (!is_absolute_path(loose->base.path))
|
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;
|
return loose;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -691,8 +691,7 @@ static void odb_source_packed_reprepare(struct odb_source *source)
|
||||||
odb_source_packed_prepare(packed);
|
odb_source_packed_prepare(packed);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void odb_source_packed_reparent(const char *name UNUSED,
|
static void odb_source_packed_reparent(const char *old_cwd,
|
||||||
const char *old_cwd,
|
|
||||||
const char *new_cwd,
|
const char *new_cwd,
|
||||||
void *cb_data)
|
void *cb_data)
|
||||||
{
|
{
|
||||||
|
|
@ -721,7 +720,7 @@ static void odb_source_packed_free(struct odb_source *source)
|
||||||
{
|
{
|
||||||
struct odb_source_packed *packed = odb_source_packed_downcast(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)
|
for (struct packfile_list_entry *e = packed->packs.head; e; e = e->next)
|
||||||
free(e->pack);
|
free(e->pack);
|
||||||
|
|
@ -758,7 +757,7 @@ struct odb_source_packed *odb_source_packed_new(struct object_database *odb,
|
||||||
packed->base.write_alternate = odb_source_packed_write_alternate;
|
packed->base.write_alternate = odb_source_packed_write_alternate;
|
||||||
|
|
||||||
if (!is_absolute_path(path))
|
if (!is_absolute_path(path))
|
||||||
chdir_notify_register(NULL, odb_source_packed_reparent, packed);
|
chdir_notify_register(odb_source_packed_reparent, packed);
|
||||||
|
|
||||||
return packed;
|
return packed;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -109,8 +109,7 @@ static void clear_loose_ref_cache(struct files_ref_store *refs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void files_ref_store_reparent(const char *name UNUSED,
|
static void files_ref_store_reparent(const char *old_cwd,
|
||||||
const char *old_cwd,
|
|
||||||
const char *new_cwd,
|
const char *new_cwd,
|
||||||
void *payload)
|
void *payload)
|
||||||
{
|
{
|
||||||
|
|
@ -180,7 +179,7 @@ static struct ref_store *files_ref_store_init(struct repository *repo,
|
||||||
packed_ref_store_init(repo, NULL, refs->gitcommondir, opts);
|
packed_ref_store_init(repo, NULL, refs->gitcommondir, opts);
|
||||||
refs->store_flags = opts->access_flags;
|
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);
|
strbuf_release(&refdir);
|
||||||
|
|
||||||
|
|
@ -232,7 +231,7 @@ static void files_ref_store_release(struct ref_store *ref_store)
|
||||||
free(refs->gitcommondir);
|
free(refs->gitcommondir);
|
||||||
ref_store_release(refs->packed_ref_store);
|
ref_store_release(refs->packed_ref_store);
|
||||||
free(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,
|
static void files_reflog_path(struct files_ref_store *refs,
|
||||||
|
|
|
||||||
|
|
@ -211,8 +211,7 @@ static size_t snapshot_hexsz(const struct snapshot *snapshot)
|
||||||
return snapshot->refs->base.repo->hash_algo->hexsz;
|
return snapshot->refs->base.repo->hash_algo->hexsz;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void packed_ref_store_reparent(const char *name UNUSED,
|
static void packed_ref_store_reparent(const char *old_cwd,
|
||||||
const char *old_cwd,
|
|
||||||
const char *new_cwd,
|
const char *new_cwd,
|
||||||
void *payload)
|
void *payload)
|
||||||
{
|
{
|
||||||
|
|
@ -242,7 +241,7 @@ struct ref_store *packed_ref_store_init(struct repository *repo,
|
||||||
|
|
||||||
strbuf_addf(&sb, "%s/packed-refs", gitdir);
|
strbuf_addf(&sb, "%s/packed-refs", gitdir);
|
||||||
refs->path = strbuf_detach(&sb, NULL);
|
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;
|
return ref_store;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -287,7 +286,7 @@ static void packed_ref_store_release(struct ref_store *ref_store)
|
||||||
clear_snapshot(refs);
|
clear_snapshot(refs);
|
||||||
rollback_lock_file(&refs->lock);
|
rollback_lock_file(&refs->lock);
|
||||||
delete_tempfile(&refs->tempfile);
|
delete_tempfile(&refs->tempfile);
|
||||||
chdir_notify_unregister(NULL, packed_ref_store_reparent, refs);
|
chdir_notify_unregister(packed_ref_store_reparent, refs);
|
||||||
free(refs->path);
|
free(refs->path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -391,8 +391,7 @@ static const struct reftable_be_write_options *reftable_be_write_options(struct
|
||||||
return opts;
|
return opts;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void reftable_be_reparent(const char *name UNUSED,
|
static void reftable_be_reparent(const char *old_cwd,
|
||||||
const char *old_cwd,
|
|
||||||
const char *new_cwd,
|
const char *new_cwd,
|
||||||
void *payload)
|
void *payload)
|
||||||
{
|
{
|
||||||
|
|
@ -465,7 +464,7 @@ static struct ref_store *reftable_be_init(struct repository *repo,
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
chdir_notify_register(NULL, reftable_be_reparent, refs);
|
chdir_notify_register(reftable_be_reparent, refs);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
assert(refs->err != REFTABLE_API_ERROR);
|
assert(refs->err != REFTABLE_API_ERROR);
|
||||||
|
|
@ -492,7 +491,7 @@ static void reftable_be_release(struct ref_store *ref_store)
|
||||||
free(be);
|
free(be);
|
||||||
}
|
}
|
||||||
strmap_clear(&refs->worktree_backends, 0);
|
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,
|
static int reftable_be_create_on_disk(struct ref_store *ref_store,
|
||||||
|
|
|
||||||
5
setup.c
5
setup.c
|
|
@ -1082,8 +1082,7 @@ static void set_git_dir_1(struct repository *repo, const char *path)
|
||||||
setup_git_env_internal(repo, path);
|
setup_git_env_internal(repo, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void update_relative_gitdir(const char *name UNUSED,
|
static void update_relative_gitdir(const char *old_cwd,
|
||||||
const char *old_cwd,
|
|
||||||
const char *new_cwd,
|
const char *new_cwd,
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
|
|
@ -1108,7 +1107,7 @@ static void set_git_dir(struct repository *repo, const char *path, int make_real
|
||||||
|
|
||||||
set_git_dir_1(repo, path);
|
set_git_dir_1(repo, path);
|
||||||
if (!is_absolute_path(path))
|
if (!is_absolute_path(path))
|
||||||
chdir_notify_register(NULL, update_relative_gitdir, repo);
|
chdir_notify_register(update_relative_gitdir, repo);
|
||||||
|
|
||||||
strbuf_release(&realpath);
|
strbuf_release(&realpath);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,8 +37,7 @@ static void tmp_objdir_free(struct tmp_objdir *t)
|
||||||
free(t);
|
free(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tmp_objdir_reparent(const char *name UNUSED,
|
static void tmp_objdir_reparent(const char *old_cwd,
|
||||||
const char *old_cwd,
|
|
||||||
const char *new_cwd,
|
const char *new_cwd,
|
||||||
void *cb_data)
|
void *cb_data)
|
||||||
{
|
{
|
||||||
|
|
@ -67,7 +66,7 @@ int tmp_objdir_destroy(struct tmp_objdir *t)
|
||||||
|
|
||||||
err = remove_dir_recursively(&t->path, 0);
|
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);
|
tmp_objdir_free(t);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
|
@ -155,7 +154,7 @@ struct tmp_objdir *tmp_objdir_create(struct repository *r,
|
||||||
repo_get_object_directory(r), prefix);
|
repo_get_object_directory(r), prefix);
|
||||||
|
|
||||||
if (!is_absolute_path(t->path.buf))
|
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)) {
|
if (!mkdtemp(t->path.buf)) {
|
||||||
/* free, not destroy, as we never touched the filesystem */
|
/* free, not destroy, as we never touched the filesystem */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue