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

Re: [PATCH v8 0/11] Create ref-filter from for-each-ref

From
karthik nayak <karthik.188@gmail.com>
Date
Jun 14, 2015, 08:24 UTC
Message-ID
<CAOLa=ZSxw15NYq+_E9kusiwQYDBQ-WrUwWjV1h2FsWGMEuVJKQ@mail.gmail.com>
In-Reply-To
<vpq8ubmemx9.fsf@anie.imag.fr>

On Sun, Jun 14, 2015 at 1:34 PM, Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> wrote:

Show 79 quoted lines
> karthik nayak <karthik.188@gmail.com> writes:
>
>> The previous version of the patch can be found at :
>> http://thread.gmane.org/gmane.comp.version-control.git/271423
>>
>> Changes :
>> * Removed an unnecessary commit (v7 3/12)
>> * Change a comment in 01/11 (v8)
>
> And change the order of parameters in ref_filter. More precisely the
> diff with v7 is the following, and it looks good to me:
>
> diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c
> index e2f15e6..7919206 100644
> --- a/builtin/for-each-ref.c
> +++ b/builtin/for-each-ref.c
> @@ -58,7 +58,7 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix)
>         memset(&array, 0, sizeof(array));
>         memset(&filter, 0, sizeof(filter));
>         filter.name_patterns = argv;
> -       filter_refs(&array, FILTER_REFS_ALL | FILTER_REFS_INCLUDE_BROKEN, &filter);
> +       filter_refs(&array, &filter, FILTER_REFS_ALL | FILTER_REFS_INCLUDE_BROKEN);
>         ref_array_sort(sorting, &array);
>
>         if (!maxcount || array.nr < maxcount)
> diff --git a/ref-filter.c b/ref-filter.c
> index 310ecd6..43502a4 100644
> --- a/ref-filter.c
> +++ b/ref-filter.c
> @@ -818,10 +818,10 @@ static void get_ref_atom_value(struct ref_array_item *ref, int atom, struct atom
>  }
>
>  /*
> - * Return 1 if the refname matches with one of the patterns,
> - * otherwise 0.  The patterns can be literal prefix (e.g. a
> - * refname "refs/heads/master" matches a pattern "refs/heads/")
> - * or a wildcard (e.g. the same ref matches "refs/heads/m*",too).
> + * Return 1 if the refname matches one of the patterns, otherwise 0.
> + * A pattern can be path prefix (e.g. a refname "refs/heads/master"
> + * matches a pattern "refs/heads/") or a wildcard (e.g. the same ref
> + * matches "refs/heads/m*",too).
>   */
>  static int match_name_as_path(const char **pattern, const char *refname)
>  {
> @@ -912,7 +912,7 @@ void ref_array_clear(struct ref_array *array)
>   * as per the given ref_filter structure and finally store the
>   * filtered refs in the ref_array structure.
>   */
> -int filter_refs(struct ref_array *array, unsigned int type, struct ref_filter *filter)
> +int filter_refs(struct ref_array *array, struct ref_filter *filter, unsigned int type)
>  {
>         struct ref_filter_cbdata ref_cbdata;
>
> diff --git a/ref-filter.h b/ref-filter.h
> index 6ab2a75..6997984 100644
> --- a/ref-filter.h
> +++ b/ref-filter.h
> @@ -23,7 +23,7 @@ struct atom_value {
>
>  struct ref_sorting {
>         struct ref_sorting *next;
> -       int atom; /* index into 'struct atom_value *' array */
> +       int atom; /* index into used_atom array (internal) */
>         unsigned reverse : 1;
>  };
>
> @@ -55,7 +55,7 @@ struct ref_filter_cbdata {
>   * as per the given ref_filter structure and finally store the
>   * filtered refs in the ref_array structure.
>   */
> -int filter_refs(struct ref_array *array, unsigned int type, struct ref_filter *filter);
> +int filter_refs(struct ref_array *array, struct ref_filter *filter, unsigned int type);
>  /*  Clear all memory allocated to ref_array */
>  void ref_array_clear(struct ref_array *array);
>  /*  Parse format string and sort specifiers */
>
> --
> Matthieu Moy
> http://www-verimag.imag.fr/~moy/
Thanks for summing it up.
-- 
Regards,
Karthik Nayak
Previous: Matthieu MoyNext: Junio C Hamano
Message 14 of 16 in “Create ref-filter from for-each-ref”
  1. 0/11 Create ref-filter from for-each-refkarthik nayak, Jun 13, 2015
  2. 01/11 for-each-ref: extract helper functions out of grab_single_ref()Karthik Nayak, Jun 13, 2015
  3. 02/11 for-each-ref: clean up codeKarthik Nayak, Jun 13, 2015
  4. 03/11 for-each-ref: rename 'refinfo' to 'ref_array_item'Karthik Nayak, Jun 13, 2015
  5. 04/11 for-each-ref: introduce new structures for better organisationKarthik Nayak, Jun 13, 2015
  6. 05/11 for-each-ref: introduce 'ref_array_clear()'Karthik Nayak, Jun 13, 2015
  7. 06/11 for-each-ref: rename some functions and make them publicKarthik Nayak, Jun 13, 2015
  8. 07/11 for-each-ref: rename variables called sort to sortingKarthik Nayak, Jun 13, 2015
  9. 08/11 ref-filter: add 'ref-filter.h'Karthik Nayak, Jun 13, 2015
  10. 09/11 ref-filter: move code from 'for-each-ref'Karthik Nayak, Jun 13, 2015
  11. 10/11 for-each-ref: introduce filter_refs()Karthik Nayak, Jun 13, 2015
  12. 11/11 ref-filter: make 'ref_array_item' use a FLEX_ARRAY for refnameKarthik Nayak, Jun 13, 2015
  13. Matthieu MoyJun 14, 2015
  14. karthik nayakJun 14, 2015
  15. Junio C HamanoJun 15, 2015
  16. karthik nayakJun 15, 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.