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
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/
Previous: Karthik NayakNext: karthik nayak
Message 13 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.