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

Re: [PATCH v2 0/3] refspec: centralize refspec-related logic

From
Meet Soni <meetsoni3017@gmail.com>
Date
Jan 27, 2025, 11:00 UTC
Message-ID
<CAPhwyn1GHkZK-ySwFqEzFMxQjmzsEtPMBKGLv311pixUeR5W=g@mail.gmail.com>
In-Reply-To
<20250127103644.36627-1-meetsoni3017@gmail.com>
On Mon, 27 Jan 2025 at 16:06, Meet Soni <meetsoni3017@gmail.com> wrote:
Show 83 quoted lines
>
> Thank you for reviewing :)
>
> I've added documentation comments for various function signatures to
> better understand what they do.
>
> Meet Soni (3):
>   refspec: relocate omit_name_by_refspec and related functions
>   refspec: relocate query related functions
>   refspec: relocate apply_refspecs and related funtions
>
>  refspec.c | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  refspec.h |  41 +++++++++++
>  remote.c  | 201 -----------------------------------------------------
>  remote.h  |  15 ----
>  4 files changed, 244 insertions(+), 216 deletions(-)
>
> Range-diff against v1:
> 1:  97c98f5a38 ! 1:  8e393ea1c2 refspec: relocate omit_name_by_refspec and related functions
>     @@ refspec.h: struct strvec;
>      + * name matches at least one negative refspec, and 0 otherwise.
>      + */
>      +int omit_name_by_refspec(const char *name, struct refspec *rs);
>     ++
>     ++/*
>     ++ * Checks whether a name matches a pattern and optionally generates a result.
>     ++ * Returns 1 if the name matches the pattern, 0 otherwise.
>     ++ */
>      +int match_name_with_pattern(const char *key, const char *name,
>      +                             const char *value, char **result);
>      +
> 2:  4f0080aad6 ! 2:  ef6edbc15b refspec: relocate query related functions
>     @@ refspec.c: int omit_name_by_refspec(const char *name, struct refspec *rs)
>      +}
>
>       ## refspec.h ##
>     -@@
>     - #ifndef REFSPEC_H
>     - #define REFSPEC_H
>     +@@ refspec.h: struct refspec_item {
>     +   char *raw;
>     + };
>
>     -+#include "string-list.h"
>     ++struct string_list;
>      +
>     - #define TAG_REFSPEC "refs/tags/*:refs/tags/*"
>     + #define REFSPEC_FETCH 1
>     + #define REFSPEC_PUSH 0
>
>     - /**
>      @@ refspec.h: 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);
>     ++
>     ++/*
>     ++ * Queries a refspec for all matches and appends results to the provided string
>     ++ * list.
>     ++ */
>      +void query_refspecs_multiple(struct refspec *rs,
>      +                              struct refspec_item *query,
>      +                              struct string_list *results);
> 3:  f89328fa66 ! 3:  ea72647439 refspec: relocate apply_refspecs and related funtions
>     @@ refspec.h: void query_refspecs_multiple(struct refspec *rs,
>      + */
>      +struct ref *apply_negative_refspecs(struct ref *ref_map, struct refspec *rs);
>      +
>     ++/*
>     ++ * Applies refspecs to a name and returns the corresponding destination.
>     ++ * Returns the destination string if a match is found, NULL otherwise.
>     ++ */
>      +char *apply_refspecs(struct refspec *rs, const char *name);
>      +
>       #endif /* REFSPEC_H */
> --
> 2.34.1
>

Hi everyone, I realized I forgot to include the In-Reply-To header in my v2 submission, which would have linked this series to v1. My apologies for the oversight!

For reference, the v1 cover letter can be found here [1] [1]: https://lore.kernel.org/git/20250122075154.5697-1-meetsoni3017@gmail.com/

Please consider this email as a manual link between the v1 and v2 series. Thank you for your understanding.

Best regards, Meet

Previous: Meet SoniNext: Junio C Hamano
Message 11 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.