git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 2/3] refspec: relocate query related functions

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 27, 2025, 19:25 UTC
Message-ID
<xmqq7c6grrdl.fsf@gitster.g>
In-Reply-To
<20250127103644.36627-3-meetsoni3017@gmail.com>
Meet Soni <meetsoni3017@gmail.com> writes:
> Move the functions `query_refspecs()`, `query_refspecs_multiple()` and
> `query_matches_negative_refspec()` from `remote.c` to `refspec.c`. These
> functions focus on querying refspecs, so centralizing them in `refspec.c`
> improves code organization by keeping refspec-related logic in one place.

I think query_matches_negative_refspec() is appropriate named (not that it matters much, as it becomes a mere private helper in the file), unlike the ones in the first patch that are suboptimally named. query_refspecs() could probalby lose the plural 's' at the end---there is only single refspec, which is a collection of refspec items, involved and it makes a single query---but otherwise it also has an appropriate name (this matters a bit more, but not that much, as it was already public).

query_refspecs_multiple() is not a great name, though. It does not convey what is multiple. Does it make multiple questions in one go? Does it ask a question that can have multiple answers?

Show 7 quoted lines
> Signed-off-by: Meet Soni <meetsoni3017@gmail.com>
> ---
>  refspec.c | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  refspec.h |  16 +++++++
>  remote.c  | 122 -----------------------------------------------------
>  remote.h  |   1 -
>  4 files changed, 139 insertions(+), 123 deletions(-)
Show 22 quoted lines
> diff --git a/refspec.h b/refspec.h
> index 891d50b159..d0788de782 100644
> --- a/refspec.h
> +++ b/refspec.h
> @@ -30,6 +30,8 @@ struct refspec_item {
>  	char *raw;
>  };
>  
> +struct string_list;
> +
>  #define REFSPEC_FETCH 1
>  #define REFSPEC_PUSH 0
>  
> @@ -84,4 +86,18 @@ int omit_name_by_refspec(const char *name, struct refspec *rs);
>  int match_name_with_pattern(const char *key, const char *name,
>  				   const char *value, char **result);
>  
> +/*
> + * Queries a refspec for a match and updates the query item.
> + * Returns 0 on success, -1 if no match is found or negative refspec matches.
> + */
> +int query_refspecs(struct refspec *rs, struct refspec_item *query);
This one now has an excellent comment.  Great job.
Thanks.
Previous: Meet SoniNext: Meet Soni
Message 6 of 33 in “refspec: centralize refspec-related logic”
  1. 0/3 refspec: centralize refspec-related logicMeet Soni, Jan 27, 2025
  2. 1/3 refspec: relocate omit_name_by_refspec and related functionsMeet Soni, Jan 27, 2025
  3. Junio C HamanoJan 27, 2025
  4. Meet SoniJan 29, 2025
  5. 2/3 refspec: relocate query related functionsMeet Soni, Jan 27, 2025
  6. Junio C HamanoJan 27, 2025
  7. Meet SoniJan 29, 2025
  8. 3/3 refspec: relocate apply_refspecs and related funtionsMeet Soni, Jan 27, 2025
  9. Junio C HamanoJan 27, 2025
  10. Meet SoniJan 29, 2025
  11. Meet SoniJan 27, 2025
  12. Junio C HamanoJan 27, 2025
  13. Meet SoniJan 29, 2025
  14. 0/5 refspec: centralize refspec-related logicMeet Soni, Feb 1, 2025
  15. 1/5 refactor(remote): rename function omit_name_by_refspecMeet Soni, Feb 1, 2025
  16. Patrick SteinhardtFeb 3, 2025
  17. 2/5 refspec: relocate refname_matches_negative_refspec_itemMeet Soni, Feb 1, 2025
  18. 3/5 refactor(remote): rename query_refspecs functionsMeet Soni, Feb 1, 2025
  19. Patrick SteinhardtFeb 3, 2025
  20. Meet SoniFeb 4, 2025
  21. Junio C HamanoFeb 4, 2025
  22. 4/5 refspec: relocate matching related functionsMeet Soni, Feb 1, 2025
  23. 5/5 refspec: relocate apply_refspecs and related funtionsMeet Soni, Feb 1, 2025
  24. [GSoC][PATCH v4 0/5] refspec: centralize refspec-related logicMeet Soni, Feb 4, 2025
  25. [GSoC][PATCH v4 1/5] remote: rename function omit_name_by_refspecMeet Soni, Feb 4, 2025
  26. Karthik NayakFeb 4, 2025
  27. Meet SoniFeb 4, 2025
  28. Karthik NayakFeb 6, 2025
  29. [GSoC][PATCH v4 2/5] refspec: relocate refname_matches_negative_refspec_itemMeet Soni, Feb 4, 2025
  30. [GSoC][PATCH v4 3/5] remote: rename query_refspecs functionsMeet Soni, Feb 4, 2025
  31. [GSoC][PATCH v4 4/5] refspec: relocate matching related functionsMeet Soni, Feb 4, 2025
  32. [GSoC][PATCH v4 5/5] refspec: relocate apply_refspecs and related funtionsMeet Soni, Feb 4, 2025
  33. Patrick SteinhardtFeb 4, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.