Subject: Re: [PATCH 2/4] ref-cache: remove unused function 'find_ref_entry()'

From: Junio C Hamano <[email-masked]>
Date: Mon, 14 Jul 2025 08:46:14 -0700

Karthik Nayak <[email-masked]> writes:

> The 'find_ref_entry' function is no longer used, so remove it.

It seems that ba1c052f (ref_store: implement `refs_peel_ref()`
generically, 2017-09-25) removed the last caller of it.  This is
long overdue ;-)

> Signed-off-by: Karthik Nayak <[email-masked]>
> ---
>  refs/ref-cache.c | 14 --------------
>  refs/ref-cache.h |  7 -------
>  2 files changed, 21 deletions(-)
>
> diff --git a/refs/ref-cache.c b/refs/ref-cache.c
> index c1f1bab1d5..8aaffa8c6b 100644
> --- a/refs/ref-cache.c
> +++ b/refs/ref-cache.c
> @@ -194,20 +194,6 @@ static struct ref_dir *find_containing_dir(struct ref_dir *dir,
>  	return dir;
>  }
>  
> -struct ref_entry *find_ref_entry(struct ref_dir *dir, const char *refname)
> -{
> -	int entry_index;
> -	struct ref_entry *entry;
> -	dir = find_containing_dir(dir, refname);
> -	if (!dir)
> -		return NULL;
> -	entry_index = search_ref_dir(dir, refname, strlen(refname));
> -	if (entry_index == -1)
> -		return NULL;
> -	entry = dir->entries[entry_index];
> -	return (entry->flag & REF_DIR) ? NULL : entry;
> -}
> -
>  /*
>   * Emit a warning and return true iff ref1 and ref2 have the same name
>   * and the same oid. Die if they have the same name but different
> diff --git a/refs/ref-cache.h b/refs/ref-cache.h
> index 5f04e518c3..f635d2d824 100644
> --- a/refs/ref-cache.h
> +++ b/refs/ref-cache.h
> @@ -201,13 +201,6 @@ void free_ref_cache(struct ref_cache *cache);
>   */
>  void add_entry_to_dir(struct ref_dir *dir, struct ref_entry *entry);
>  
> -/*
> - * Find the value entry with the given name in dir, sorting ref_dirs
> - * and recursing into subdirectories as necessary.  If the name is not
> - * found or it corresponds to a directory entry, return NULL.
> - */
> -struct ref_entry *find_ref_entry(struct ref_dir *dir, const char *refname);
> -
>  /*
>   * Start iterating over references in `cache`. If `prefix` is
>   * specified, only include references whose names start with that