Re: [PATCH v8 0/11] Create ref-filter from for-each-ref
- From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
- Date
- Jun 14, 2015, 08:04 UTC
- Message-ID
- <vpq8ubmemx9.fsf@anie.imag.fr>
- In-Reply-To
- <CAOLa=ZR6hRFZjXmSPh+rUS6EROdjP8d3tgP0+Yh5VDBdngCOkA@mail.gmail.com>
karthik nayak <karthik.188@gmail.com> writes:
Show 6 quoted lines
> 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/