Re: [PATCH 3/6] refs/files: remove duplicate duplicates check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 07, 2025 at 08:34:38AM +0100, Karthik Nayak wrote:
> Within the files reference backend's transaction's 'finish' phase, a
> verification step is currently performed wherein the refnames list is
> sorted and examined for multiple updates targeting the same refname.
> 
> It has been observed that this verification is redundant, as an
> identical check is already executed during the transaction's 'prepare'
> stage. Since the refnames list remains unmodified following the
> 'prepare' stage, this secondary verification can be safely eliminated.
> 
> The duplicate check has been removed accordingly, and the
> `ref_update_reject_duplicates()` function has been marked as static, as
> its usage is now confined to 'refs.c'.

Nice, I had been wondering about this code in the preceding commit.

> diff --git a/refs.c b/refs.c
> index 4c9b706461977995be1d55e7667f7fb708fbbb76..b420a120102b3793168598b885bba68e4f5f5f03 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -2295,8 +2295,13 @@ int refs_update_symref_extended(struct ref_store *refs, const char *ref,
>  	return ret;
>  }
>  
> -int ref_update_reject_duplicates(struct string_list *refnames,
> -				 struct strbuf *err)
> +/*
> + * Write an error to `err` and return a nonzero value iff the same
> + * refname appears multiple times in `refnames`. `refnames` must be
> + * sorted on entry to this function.
> + */
> +static int ref_update_reject_duplicates(struct string_list *refnames,
> +					struct strbuf *err)
>  {
>  	size_t i, n = refnames->nr;
>  

Doubly nice that this can now be static.

Patrick




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux