git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] dropping some more unused parameters
@ 2024-08-17  7:26 Jeff King
  2024-08-17  7:26 ` [PATCH 1/5] refs: drop some unused parameters from create_symref_lock() Jeff King
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Jeff King @ 2024-08-17  7:26 UTC (permalink / raw)
  To: git

These are from my pile of -Wunused-parameter fixes. The common theme
here is that we're actually changing the code rather than just marking
parameters with UNUSED. All of them just remove the parameters with the
exception of patch 2, where we can actually make use of it (but even
that one is not an observable bugfix because all callers were just
passing in the_repository anyway).

  [1/5]: refs: drop some unused parameters from create_symref_lock()
  [2/5]: pack-bitmap: load writer config from repository parameter
  [3/5]: pack-bitmap: drop unused parameters from select_pseudo_merges()
  [4/5]: ref-filter: drop unused parameters from email_atom_option_parser()
  [5/5]: diff-lib: drop unused index argument from get_stat_data()

 diff-lib.c           | 9 +++------
 pack-bitmap-write.c  | 4 ++--
 pseudo-merge.c       | 8 ++++----
 pseudo-merge.h       | 6 +++---
 ref-filter.c         | 5 ++---
 refs/files-backend.c | 8 +++-----
 6 files changed, 17 insertions(+), 23 deletions(-)

-Peff

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

* [PATCH 1/5] refs: drop some unused parameters from create_symref_lock()
  2024-08-17  7:26 [PATCH 0/5] dropping some more unused parameters Jeff King
@ 2024-08-17  7:26 ` Jeff King
  2024-08-17  7:26 ` [PATCH 2/5] pack-bitmap: load writer config from repository parameter Jeff King
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Jeff King @ 2024-08-17  7:26 UTC (permalink / raw)
  To: git

This function was factored out in 57d0b1e2ea (files-backend: extract out
`create_symref_lock()`, 2024-05-07), but we never look at the ref_store
or refname parameters. We just need the path, which is already contained
in the lockfile struct.

Signed-off-by: Jeff King <peff@peff.net>
---
 refs/files-backend.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/refs/files-backend.c b/refs/files-backend.c
index 8d6ec9458d..1cff65f6ae 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -1961,9 +1961,8 @@ static int create_ref_symlink(struct ref_lock *lock, const char *target)
 	return ret;
 }
 
-static int create_symref_lock(struct files_ref_store *refs,
-			      struct ref_lock *lock, const char *refname,
-			      const char *target, struct strbuf *err)
+static int create_symref_lock(struct ref_lock *lock, const char *target,
+			      struct strbuf *err)
 {
 	if (!fdopen_lock_file(&lock->lk, "w")) {
 		strbuf_addf(err, "unable to fdopen %s: %s",
@@ -2579,8 +2578,7 @@ static int lock_ref_for_update(struct files_ref_store *refs,
 	}
 
 	if (update->new_target && !(update->flags & REF_LOG_ONLY)) {
-		if (create_symref_lock(refs, lock, update->refname,
-				       update->new_target, err)) {
+		if (create_symref_lock(lock, update->new_target, err)) {
 			ret = TRANSACTION_GENERIC_ERROR;
 			goto out;
 		}
-- 
2.46.0.585.gd6679c16d8


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

* [PATCH 2/5] pack-bitmap: load writer config from repository parameter
  2024-08-17  7:26 [PATCH 0/5] dropping some more unused parameters Jeff King
  2024-08-17  7:26 ` [PATCH 1/5] refs: drop some unused parameters from create_symref_lock() Jeff King
@ 2024-08-17  7:26 ` Jeff King
  2024-08-17  7:33   ` Eric Sunshine
  2024-08-17  7:29 ` [PATCH 3/5] pack-bitmap: drop unused parameters from select_pseudo_merges() Jeff King
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 7+ messages in thread
From: Jeff King @ 2024-08-17  7:26 UTC (permalink / raw)
  To: git

In bitmap_writer_init(), we take a repository parameter but ever look at
it. Most of the initialization here is independent of the repository,
but we do load some config. So let's pass the repo we get down to
load_pseudo_merges_from_config(), which in turn can use repo_config(),
rather than depending on the_repository via git_config().

The outcome is the same, since all callers pass in the_repository
anyway. But it takes us a step closer to getting rid of the global, and
as a bonus it silences an unused parameter warning.

Signed-off-by: Jeff King <peff@peff.net>
---
 pack-bitmap-write.c | 2 +-
 pseudo-merge.c      | 5 +++--
 pseudo-merge.h      | 3 ++-
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c
index bf96c80898..7787600234 100644
--- a/pack-bitmap-write.c
+++ b/pack-bitmap-write.c
@@ -51,7 +51,7 @@ void bitmap_writer_init(struct bitmap_writer *writer, struct repository *r)
 
 	string_list_init_dup(&writer->pseudo_merge_groups);
 
-	load_pseudo_merges_from_config(&writer->pseudo_merge_groups);
+	load_pseudo_merges_from_config(r, &writer->pseudo_merge_groups);
 }
 
 static void free_pseudo_merge_commit_idx(struct pseudo_merge_commit_idx *idx)
diff --git a/pseudo-merge.c b/pseudo-merge.c
index 77a83b9c5c..1d7f5381a4 100644
--- a/pseudo-merge.c
+++ b/pseudo-merge.c
@@ -183,11 +183,12 @@ static int pseudo_merge_config(const char *var, const char *value,
 	return ret;
 }
 
-void load_pseudo_merges_from_config(struct string_list *list)
+void load_pseudo_merges_from_config(struct repository *r,
+				    struct string_list *list)
 {
 	struct string_list_item *item;
 
-	git_config(pseudo_merge_config, list);
+	repo_config(r, pseudo_merge_config, list);
 
 	for_each_string_list_item(item, list) {
 		struct pseudo_merge_group *group = item->util;
diff --git a/pseudo-merge.h b/pseudo-merge.h
index 2aca01d056..3aecba772b 100644
--- a/pseudo-merge.h
+++ b/pseudo-merge.h
@@ -10,6 +10,7 @@ struct commit;
 struct string_list;
 struct bitmap_index;
 struct bitmap_writer;
+struct repository;
 
 /*
  * A pseudo-merge group tracks the set of non-bitmapped reference tips
@@ -72,7 +73,7 @@ struct pseudo_merge_matches {
  * entry keys are the pseudo-merge group names, and the values are
  * pointers to the pseudo_merge_group structure itself.
  */
-void load_pseudo_merges_from_config(struct string_list *list);
+void load_pseudo_merges_from_config(struct repository *r, struct string_list *list);
 
 /*
  * A pseudo-merge commit index (pseudo_merge_commit_idx) maps a
-- 
2.46.0.585.gd6679c16d8


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

* [PATCH 3/5] pack-bitmap: drop unused parameters from select_pseudo_merges()
  2024-08-17  7:26 [PATCH 0/5] dropping some more unused parameters Jeff King
  2024-08-17  7:26 ` [PATCH 1/5] refs: drop some unused parameters from create_symref_lock() Jeff King
  2024-08-17  7:26 ` [PATCH 2/5] pack-bitmap: load writer config from repository parameter Jeff King
@ 2024-08-17  7:29 ` Jeff King
  2024-08-17  7:29 ` [PATCH 4/5] ref-filter: drop unused parameters from email_atom_option_parser() Jeff King
  2024-08-17  7:29 ` [PATCH 5/5] diff-lib: drop unused index argument from get_stat_data() Jeff King
  4 siblings, 0 replies; 7+ messages in thread
From: Jeff King @ 2024-08-17  7:29 UTC (permalink / raw)
  To: git

We take the array of indexed_commits (and its length), but there's no
need. The selection is based on ref reachability, not the linearized set
of commits we're packing.

Signed-off-by: Jeff King <peff@peff.net>
---
A careful reader may wonder whether we ought to be using the set of
commits to limit what we're willing to select (since we can't make a
bitmap for a commit that isn't in our index).

And this is indeed a problem, but the solution doesn't involve using
indexed_commits. It should be fixed in this series:

  https://lore.kernel.org/git/c9a64b1d2a9d6b3fe1f5fb0a7303e043114fcd8f.1723743050.git.me@ttaylorr.com/

 pack-bitmap-write.c | 2 +-
 pseudo-merge.c      | 3 +--
 pseudo-merge.h      | 3 +--
 3 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c
index 7787600234..9b9ca1cc36 100644
--- a/pack-bitmap-write.c
+++ b/pack-bitmap-write.c
@@ -737,7 +737,7 @@ void bitmap_writer_select_commits(struct bitmap_writer *writer,
 
 	stop_progress(&writer->progress);
 
-	select_pseudo_merges(writer, indexed_commits, indexed_commits_nr);
+	select_pseudo_merges(writer);
 }
 
 
diff --git a/pseudo-merge.c b/pseudo-merge.c
index 1d7f5381a4..c952a7cba9 100644
--- a/pseudo-merge.c
+++ b/pseudo-merge.c
@@ -425,8 +425,7 @@ static void sort_pseudo_merge_matches(struct pseudo_merge_matches *matches)
 	QSORT(matches->unstable, matches->unstable_nr, commit_date_cmp);
 }
 
-void select_pseudo_merges(struct bitmap_writer *writer,
-			  struct commit **commits, size_t commits_nr)
+void select_pseudo_merges(struct bitmap_writer *writer)
 {
 	struct progress *progress = NULL;
 	uint32_t i;
diff --git a/pseudo-merge.h b/pseudo-merge.h
index 3aecba772b..4b5febaa63 100644
--- a/pseudo-merge.h
+++ b/pseudo-merge.h
@@ -95,8 +95,7 @@ struct pseudo_merge_commit_idx {
  *
  * Optionally shows a progress meter.
  */
-void select_pseudo_merges(struct bitmap_writer *writer,
-			  struct commit **commits, size_t commits_nr);
+void select_pseudo_merges(struct bitmap_writer *writer);
 
 /*
  * Represents a serialized view of a file containing pseudo-merge(s)
-- 
2.46.0.585.gd6679c16d8


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

* [PATCH 4/5] ref-filter: drop unused parameters from email_atom_option_parser()
  2024-08-17  7:26 [PATCH 0/5] dropping some more unused parameters Jeff King
                   ` (2 preceding siblings ...)
  2024-08-17  7:29 ` [PATCH 3/5] pack-bitmap: drop unused parameters from select_pseudo_merges() Jeff King
@ 2024-08-17  7:29 ` Jeff King
  2024-08-17  7:29 ` [PATCH 5/5] diff-lib: drop unused index argument from get_stat_data() Jeff King
  4 siblings, 0 replies; 7+ messages in thread
From: Jeff King @ 2024-08-17  7:29 UTC (permalink / raw)
  To: git

This code was extracted from person_email_atom_parser() in a3d2e83a17
(ref-filter: add mailmap support, 2023-09-25), but the part that was
extracted doesn't care about the atom struct or the error strbuf.

Signed-off-by: Jeff King <peff@peff.net>
---
 ref-filter.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/ref-filter.c b/ref-filter.c
index 6d8b591930..2d7a65a56b 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -742,8 +742,7 @@ static int person_name_atom_parser(struct ref_format *format UNUSED,
 	return 0;
 }
 
-static int email_atom_option_parser(struct used_atom *atom,
-				    const char **arg, struct strbuf *err)
+static int email_atom_option_parser(const char **arg)
 {
 	if (!*arg)
 		return EO_RAW;
@@ -761,7 +760,7 @@ static int person_email_atom_parser(struct ref_format *format UNUSED,
 				    const char *arg, struct strbuf *err)
 {
 	for (;;) {
-		int opt = email_atom_option_parser(atom, &arg, err);
+		int opt = email_atom_option_parser(&arg);
 		const char *bad_arg = arg;
 
 		if (opt < 0)
-- 
2.46.0.585.gd6679c16d8


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

* [PATCH 5/5] diff-lib: drop unused index argument from get_stat_data()
  2024-08-17  7:26 [PATCH 0/5] dropping some more unused parameters Jeff King
                   ` (3 preceding siblings ...)
  2024-08-17  7:29 ` [PATCH 4/5] ref-filter: drop unused parameters from email_atom_option_parser() Jeff King
@ 2024-08-17  7:29 ` Jeff King
  4 siblings, 0 replies; 7+ messages in thread
From: Jeff King @ 2024-08-17  7:29 UTC (permalink / raw)
  To: git

The "struct index_state" parameter passed to get_stat_data() has been
unused since we stopped passing it to check_removed() in 6a044a2048
(diff-lib: fix check_removed when fsmonitor is on, 2023-09-11). We can
just drop it, which in turns lets us simplify our callers a bit.

Signed-off-by: Jeff King <peff@peff.net>
---
 diff-lib.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/diff-lib.c b/diff-lib.c
index 7a1eb63757..a680768ee7 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -308,8 +308,7 @@ static void diff_index_show_file(struct rev_info *revs,
 		       oid, oid_valid, ce->name, dirty_submodule);
 }
 
-static int get_stat_data(const struct index_state *istate,
-			 const struct cache_entry *ce,
+static int get_stat_data(const struct cache_entry *ce,
 			 const struct object_id **oidp,
 			 unsigned int *modep,
 			 int cached, int match_missing,
@@ -352,7 +351,6 @@ static void show_new_file(struct rev_info *revs,
 	const struct object_id *oid;
 	unsigned int mode;
 	unsigned dirty_submodule = 0;
-	struct index_state *istate = revs->diffopt.repo->index;
 
 	if (new_file && S_ISSPARSEDIR(new_file->ce_mode)) {
 		diff_tree_oid(NULL, &new_file->oid, new_file->name, &revs->diffopt);
@@ -363,7 +361,7 @@ static void show_new_file(struct rev_info *revs,
 	 * New file in the index: it might actually be different in
 	 * the working tree.
 	 */
-	if (get_stat_data(istate, new_file, &oid, &mode, cached, match_missing,
+	if (get_stat_data(new_file, &oid, &mode, cached, match_missing,
 	    &dirty_submodule, &revs->diffopt) < 0)
 		return;
 
@@ -379,7 +377,6 @@ static int show_modified(struct rev_info *revs,
 	unsigned int mode, oldmode;
 	const struct object_id *oid;
 	unsigned dirty_submodule = 0;
-	struct index_state *istate = revs->diffopt.repo->index;
 
 	assert(S_ISSPARSEDIR(old_entry->ce_mode) ==
 	       S_ISSPARSEDIR(new_entry->ce_mode));
@@ -395,7 +392,7 @@ static int show_modified(struct rev_info *revs,
 		return 0;
 	}
 
-	if (get_stat_data(istate, new_entry, &oid, &mode, cached, match_missing,
+	if (get_stat_data(new_entry, &oid, &mode, cached, match_missing,
 			  &dirty_submodule, &revs->diffopt) < 0) {
 		if (report_missing)
 			diff_index_show_file(revs, "-", old_entry,
-- 
2.46.0.585.gd6679c16d8

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

* Re: [PATCH 2/5] pack-bitmap: load writer config from repository parameter
  2024-08-17  7:26 ` [PATCH 2/5] pack-bitmap: load writer config from repository parameter Jeff King
@ 2024-08-17  7:33   ` Eric Sunshine
  0 siblings, 0 replies; 7+ messages in thread
From: Eric Sunshine @ 2024-08-17  7:33 UTC (permalink / raw)
  To: Jeff King; +Cc: git

On Sat, Aug 17, 2024 at 3:27 AM Jeff King <peff@peff.net> wrote:
> In bitmap_writer_init(), we take a repository parameter but ever look at

s/ever/never/

> it. Most of the initialization here is independent of the repository,
> but we do load some config. So let's pass the repo we get down to
> load_pseudo_merges_from_config(), which in turn can use repo_config(),
> rather than depending on the_repository via git_config().
>
> The outcome is the same, since all callers pass in the_repository
> anyway. But it takes us a step closer to getting rid of the global, and
> as a bonus it silences an unused parameter warning.
>
> Signed-off-by: Jeff King <peff@peff.net>

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

end of thread, other threads:[~2024-08-17  7:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-17  7:26 [PATCH 0/5] dropping some more unused parameters Jeff King
2024-08-17  7:26 ` [PATCH 1/5] refs: drop some unused parameters from create_symref_lock() Jeff King
2024-08-17  7:26 ` [PATCH 2/5] pack-bitmap: load writer config from repository parameter Jeff King
2024-08-17  7:33   ` Eric Sunshine
2024-08-17  7:29 ` [PATCH 3/5] pack-bitmap: drop unused parameters from select_pseudo_merges() Jeff King
2024-08-17  7:29 ` [PATCH 4/5] ref-filter: drop unused parameters from email_atom_option_parser() Jeff King
2024-08-17  7:29 ` [PATCH 5/5] diff-lib: drop unused index argument from get_stat_data() Jeff King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).