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

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

From
Meet Soni <meetsoni3017@gmail.com>
Date
Jan 27, 2025, 10:36 UTC
Message-ID
<20250127103644.36627-1-meetsoni3017@gmail.com>
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
Next: Meet Soni
Message 1 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.