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

Re: [WIP/PATCH v4 1/8] for-each-ref: extract helper functions out of grab_single_ref()

From
Junio C Hamano <gitster@pobox.com>
Date
May 31, 2015, 17:34 UTC
Message-ID
<xmqqvbf8abwi.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1433008411-8550-1-git-send-email-karthik.188@gmail.com>
Karthik Nayak <karthik.188@gmail.com> writes:
Show 7 quoted lines
>  /*
> + * Given a refname, return 1 if the refname matches with one of the patterns
> + * while the pattern is a pathname like 'refs/tags' or 'refs/heads/master'
> + * and so on, else return 0. Supports use of wild characters.
> + */
> +static int match_name_as_path(const char **pattern, const char *refname)
> +{

I wonder why this is not "match_refname", in other words, what the significance of "as path" part of the name? If you later are going to introuce match_name_as_something_else() and that name may not be a refname, then this naming is perfectly sane. If such a function you will later introduce will still deal with names that are only refnames, then match_refname_as_path() would be sensible. Otherwise this name seems overly long (i.e. "as_path" may not be adding value) while not being desctiptive enough (i.e. is meant to be limited to refnames but just says "name").

Just being curious.
Show 16 quoted lines
> @@ -851,40 +888,16 @@ static int grab_single_ref(const char *refname, const unsigned char *sha1, int f
>  		  return 0;
>  	}
>  
> -	if (*cb->grab_pattern) {
> -...
> -	}
> +	if (*cb->grab_pattern && !match_name_as_path(cb->grab_pattern, refname))
> +		return 0;
>  
> -	/*
> -	 * We do not open the object yet; sort may only need refname
> -	 * to do its job and the resulting list may yet to be pruned
> -	 * by maxcount logic.
> -	 */
> -	ref = xcalloc(1, sizeof(*ref));

The comment still is a good reminder for those who will later touch this grab_single_ref() function to make them think twice.

Thanks.
Previous: Karthik NayakNext: Karthik Nayak
Message 4 of 44 in “for-each-ref: extract helper functions out of grab_single_ref()”
  1. 1/8 for-each-ref: extract helper functions out of grab_single_ref()Karthik Nayak, May 30, 2015
  2. Eric SunshineMay 31, 2015
  3. Karthik NayakMay 31, 2015
  4. Junio C HamanoMay 31, 2015
  5. Karthik NayakMay 31, 2015
  6. Matthieu MoyMay 31, 2015
  7. Junio C HamanoJun 1, 2015
  8. 2/8 for-each-ref: simplify codeKarthik Nayak, May 30, 2015
  9. 3/8 for-each-ref: rename 'refinfo' to 'ref_array_item'Karthik Nayak, May 30, 2015
  10. Junio C HamanoMay 31, 2015
  11. Karthik NayakMay 31, 2015
  12. 4/8 for-each-ref: introduce new structures for better organisationKarthik Nayak, May 30, 2015
  13. Eric SunshineMay 31, 2015
  14. Karthik NayakMay 31, 2015
  15. 5/8 for-each-ref: introduce 'ref_filter_clear_data()'Karthik Nayak, May 30, 2015
  16. Christian CouderMay 31, 2015
  17. Karthik NayakMay 31, 2015
  18. 6/8 for-each-ref: rename some functions and make them publicKarthik Nayak, May 30, 2015
  19. Eric SunshineMay 31, 2015
  20. Karthik NayakMay 31, 2015
  21. Christian CouderMay 31, 2015
  22. Christian CouderMay 31, 2015
  23. Karthik NayakMay 31, 2015
  24. Christian CouderMay 31, 2015
  25. Karthik NayakMay 31, 2015
  26. Matthieu MoyJun 1, 2015
  27. Karthik NayakJun 1, 2015
  28. Junio C HamanoMay 31, 2015
  29. Junio C HamanoMay 31, 2015
  30. Karthik NayakMay 31, 2015
  31. Junio C HamanoJun 1, 2015
  32. Karthik NayakJun 1, 2015
  33. 7/8 ref-filter: move code from 'for-each-ref'Karthik Nayak, May 30, 2015
  34. 8/8 ref-filter: add 'ref-filter.h'Karthik Nayak, May 30, 2015
  35. Eric SunshineMay 31, 2015
  36. Karthik NayakMay 31, 2015
  37. Eric SunshineMay 31, 2015
  38. Karthik NayakMay 31, 2015
  39. Matthieu MoyMay 31, 2015
  40. Karthik NayakMay 31, 2015
  41. Christian CouderMay 31, 2015
  42. Matthieu MoyJun 1, 2015
  43. Christian CouderMay 31, 2015
  44. Karthik NayakMay 31, 2015

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.