public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Adrian Ratiu <adrian.ratiu@collabora.com>
Cc: git@vger.kernel.org, Emily Shaffer <emilyshaffer@google.com>,
	Junio C Hamano <gitster@pobox.com>,
	Patrick Steinhardt <ps@pks.im>,
	"brian m . carlson" <sandals@crustytoothpaste.net>
Subject: Re: [PATCH 01/10] hook: move unsorted_string_list_remove() to string-list.[ch]
Date: Tue, 10 Mar 2026 20:56:07 +0100	[thread overview]
Message-ID: <abB3V4BcYDgMJo0x@szeder.dev> (raw)
In-Reply-To: <20260309005416.2760030-2-adrian.ratiu@collabora.com>

On Mon, Mar 09, 2026 at 02:54:07AM +0200, Adrian Ratiu wrote:
> Move the convenience wrapper from hook to string-list since
> it's a more suitable place. Add a doc comment to the header.

unsorted_string_list_remove() in string-list has a 'free_util'
parameter that didn't exist in its original version in 'hook.c', but
it's not mentioned in the commit message.
Furthermore, none of the function's callsites are adjusted to the new
parameter, and the build fails with:

  hook.c: In function ‘hook_config_lookup_all’:
  hook.c:151:33: error: too few arguments to function ‘unsorted_string_list_remove’
    151 |                                 unsorted_string_list_remove(e->value, hook_name);
        |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from hook.h:5,
                   from hook.c:5:
  string-list.h:273:6: note: declared here
    273 | void unsorted_string_list_remove(struct string_list *list, const char *str,
        |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  hook.c:163:25: error: too few arguments to function ‘unsorted_string_list_remove’
    163 |                         unsorted_string_list_remove(hooks, hook_name);
        |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  string-list.h:273:6: note: declared here
    273 | void unsorted_string_list_remove(struct string_list *list, const char *str,
        |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  hook.c:180:25: error: too few arguments to function ‘unsorted_string_list_remove’
    180 |                         unsorted_string_list_remove(&data->disabled_hooks,
        |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  string-list.h:273:6: note: declared here
    273 | void unsorted_string_list_remove(struct string_list *list, const char *str,
        |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  make: *** [Makefile:2917: hook.o] Error 1


> Suggested-by: Patrick Steinhardt <ps@pks.im>
> Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
> ---
>  hook.c        | 8 --------
>  string-list.c | 9 +++++++++
>  string-list.h | 8 ++++++++
>  3 files changed, 17 insertions(+), 8 deletions(-)
> 
> diff --git a/hook.c b/hook.c
> index 2c8252b2c4..313a6b9937 100644
> --- a/hook.c
> +++ b/hook.c
> @@ -110,14 +110,6 @@ static void list_hooks_add_default(struct repository *r, const char *hookname,
>  	string_list_append(hook_list, hook_path)->util = h;
>  }
>  
> -static void unsorted_string_list_remove(struct string_list *list,
> -					const char *str)
> -{
> -	struct string_list_item *item = unsorted_string_list_lookup(list, str);
> -	if (item)
> -		unsorted_string_list_delete_item(list, item - list->items, 0);
> -}
> -
>  /*
>   * Callback struct to collect all hook.* keys in a single config pass.
>   * commands: friendly-name to command map.
> diff --git a/string-list.c b/string-list.c
> index fffa2ad4b6..d260b873c8 100644
> --- a/string-list.c
> +++ b/string-list.c
> @@ -281,6 +281,15 @@ void unsorted_string_list_delete_item(struct string_list *list, int i, int free_
>  	list->nr--;
>  }
>  
> +void unsorted_string_list_remove(struct string_list *list, const char *str,
> +				 int free_util)
> +{
> +	struct string_list_item *item = unsorted_string_list_lookup(list, str);
> +	if (item)
> +		unsorted_string_list_delete_item(list, item - list->items,
> +						 free_util);
> +}
> +
>  /*
>   * append a substring [p..end] to list; return number of things it
>   * appended to the list.
> diff --git a/string-list.h b/string-list.h
> index 3ad862a187..b86ee7c099 100644
> --- a/string-list.h
> +++ b/string-list.h
> @@ -265,6 +265,14 @@ struct string_list_item *unsorted_string_list_lookup(struct string_list *list,
>   */
>  void unsorted_string_list_delete_item(struct string_list *list, int i, int free_util);
>  
> +/**
> + * Remove the first item matching `str` from an unsorted string_list.
> + * No-op if `str` is not found. If `free_util` is non-zero, the `util`
> + * pointer of the removed item is freed before deletion.
> + */
> +void unsorted_string_list_remove(struct string_list *list, const char *str,
> +				 int free_util);
> +
>  /**
>   * Split string into substrings on characters in `delim` and append the
>   * substrings to `list`.  The input string is not modified.
> -- 
> 2.52.0.732.gb351b5166d.dirty
> 

  reply	other threads:[~2026-03-10 19:56 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-09  0:54 [PATCH 00/10] config-hook cleanups and two small 'git hook list' features Adrian Ratiu
2026-03-09  0:54 ` [PATCH 01/10] hook: move unsorted_string_list_remove() to string-list.[ch] Adrian Ratiu
2026-03-10 19:56   ` SZEDER Gábor [this message]
2026-03-11 11:08     ` Adrian Ratiu
2026-03-09  0:54 ` [PATCH 02/10] hook: fix minor style issues Adrian Ratiu
2026-03-09  2:12   ` Eric Sunshine
2026-03-09  0:54 ` [PATCH 03/10] hook: rename cb_data_free/alloc -> hook_data_free/alloc Adrian Ratiu
2026-03-11 10:24   ` Patrick Steinhardt
2026-03-11 11:09     ` Adrian Ratiu
2026-03-09  0:54 ` [PATCH 04/10] hook: detect & emit two more bugs Adrian Ratiu
2026-03-09  0:54 ` [PATCH 05/10] hook: replace hook_list_clear() -> string_list_clear_func() Adrian Ratiu
2026-03-09  2:18   ` Eric Sunshine
2026-03-10 14:20     ` Adrian Ratiu
2026-03-09  0:54 ` [PATCH 06/10] hook: make consistent use of friendly-name in docs Adrian Ratiu
2026-03-09  0:54 ` [PATCH 07/10] t1800: add test to verify hook execution ordering Adrian Ratiu
2026-03-09  0:54 ` [PATCH 08/10] hook: refactor hook_config_cache from strmap to named struct Adrian Ratiu
2026-03-09 21:59   ` Junio C Hamano
2026-03-10 14:19     ` Adrian Ratiu
2026-03-09  0:54 ` [PATCH 09/10] hook: show config scope in git hook list Adrian Ratiu
2026-03-09 21:59   ` Junio C Hamano
2026-03-10 14:45     ` Adrian Ratiu
2026-03-11 10:24   ` Patrick Steinhardt
2026-03-11 11:47     ` Adrian Ratiu
2026-03-09  0:54 ` [PATCH 10/10] hook: show disabled hooks in "git hook list" Adrian Ratiu
2026-03-11 10:24   ` Patrick Steinhardt
2026-03-11 12:24     ` Adrian Ratiu
2026-03-11 13:53       ` Patrick Steinhardt
2026-03-09 20:14 ` [PATCH 00/10] config-hook cleanups and two small 'git hook list' features Junio C Hamano
2026-03-10 14:37   ` Adrian Ratiu
2026-03-09 20:27 ` Junio C Hamano
2026-03-20 11:52 ` [PATCH v2 " Adrian Ratiu
2026-03-20 11:52   ` [PATCH v2 01/10] hook: move unsorted_string_list_remove() to string-list.[ch] Adrian Ratiu
2026-03-20 11:52   ` [PATCH v2 02/10] hook: fix minor style issues Adrian Ratiu
2026-03-24  8:37     ` Patrick Steinhardt
2026-03-24 19:19       ` Adrian Ratiu
2026-03-20 11:52   ` [PATCH v2 03/10] hook: rename cb_data_free/alloc -> hook_data_free/alloc Adrian Ratiu
2026-03-20 11:52   ` [PATCH v2 04/10] hook: detect & emit two more bugs Adrian Ratiu
2026-03-20 11:52   ` [PATCH v2 05/10] hook: replace hook_list_clear() -> string_list_clear_func() Adrian Ratiu
2026-03-24  8:37     ` Patrick Steinhardt
2026-03-24 22:33       ` Adrian Ratiu
2026-03-25  5:26         ` Patrick Steinhardt
2026-03-20 11:52   ` [PATCH v2 06/10] hook: make consistent use of friendly-name in docs Adrian Ratiu
2026-03-20 11:52   ` [PATCH v2 07/10] t1800: add test to verify hook execution ordering Adrian Ratiu
2026-03-20 11:52   ` [PATCH v2 08/10] hook: introduce hook_config_cache_entry for per-hook data Adrian Ratiu
2026-03-20 11:52   ` [PATCH v2 09/10] hook: show config scope in git hook list Adrian Ratiu
2026-03-24  8:37     ` Patrick Steinhardt
2026-03-25 11:28       ` Adrian Ratiu
2026-03-20 11:52   ` [PATCH v2 10/10] hook: show disabled hooks in "git hook list" Adrian Ratiu
2026-03-24  8:38     ` Patrick Steinhardt
2026-03-24 16:14       ` Junio C Hamano
2026-03-24 19:23       ` Adrian Ratiu
2026-03-23 16:11   ` [PATCH v2 00/10] config-hook cleanups and two small 'git hook list' features Junio C Hamano
2026-03-24  8:38     ` Patrick Steinhardt
2026-03-24 18:56       ` Adrian Ratiu
2026-03-25 19:54 ` [PATCH v3 00/12] config-hook cleanups and three small git-hook features Adrian Ratiu
2026-03-25 19:54   ` [PATCH v3 01/12] hook: move unsorted_string_list_remove() to string-list.[ch] Adrian Ratiu
2026-03-25 19:54   ` [PATCH v3 02/12] builtin/receive-pack: properly init receive_hook strbuf Adrian Ratiu
2026-03-25 19:54   ` [PATCH v3 03/12] hook: fix minor style issues Adrian Ratiu
2026-03-25 19:54   ` [PATCH v3 04/12] hook: rename cb_data_free/alloc -> hook_data_free/alloc Adrian Ratiu
2026-03-25 19:54   ` [PATCH v3 05/12] hook: detect & emit two more bugs Adrian Ratiu
2026-03-25 19:54   ` [PATCH v3 06/12] hook: replace hook_list_clear() -> string_list_clear_func() Adrian Ratiu
2026-03-25 19:54   ` [PATCH v3 07/12] hook: make consistent use of friendly-name in docs Adrian Ratiu
2026-03-25 19:54   ` [PATCH v3 08/12] t1800: add test to verify hook execution ordering Adrian Ratiu
2026-03-25 19:55   ` [PATCH v3 09/12] hook: introduce hook_config_cache_entry for per-hook data Adrian Ratiu
2026-03-25 19:55   ` [PATCH v3 10/12] hook: show config scope in git hook list Adrian Ratiu
2026-03-25 19:55   ` [PATCH v3 11/12] hook: show disabled hooks in "git hook list" Adrian Ratiu
2026-03-25 19:55   ` [PATCH v3 12/12] hook: reject unknown hook names in git-hook(1) Adrian Ratiu
2026-03-25 21:17   ` [PATCH v3 00/12] config-hook cleanups and three small git-hook features Junio C Hamano
2026-03-26 10:21     ` Adrian Ratiu
2026-03-27  8:04   ` Patrick Steinhardt
2026-03-27 16:11     ` Junio C Hamano

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=abB3V4BcYDgMJo0x@szeder.dev \
    --to=szeder.dev@gmail.com \
    --cc=adrian.ratiu@collabora.com \
    --cc=emilyshaffer@google.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=ps@pks.im \
    --cc=sandals@crustytoothpaste.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