Re: [GSoC][PATCH v2 2/4] submodule--helper: introduce for_each_submodule()

2 messages, 2 authors, 2017-08-23 · open the first message on its own page

Re: [GSoC][PATCH v2 2/4] submodule--helper: introduce for_each_submodule()

From: Junio C Hamano <hidden>
Date: 2017-08-23 19:13:26

Prathamesh Chavan [off-list ref] writes:
quoted hunk
+typedef void (*submodule_list_func_t)(const struct cache_entry *list_item,
+				      void *cb_data);
+
 static char *get_default_remote(void)
 {
 	char *dest = NULL, *ret;
@@ -353,17 +356,30 @@ static int module_list(int argc, const char **argv, const char *prefix)
 	return 0;
 }
 
-static void init_submodule(const char *path, const char *prefix, int quiet)
+static void for_each_submodule(const struct module_list *list,
+			       submodule_list_func_t fn, void *cb_data)
In the output from

	$ git grep for_each \*.h

we find that the convention is that an interator over a group of X
is for_each_X, the callback function that is given to for_each_X is
of type each_X_fn.  An interator over a subset of group of X that
has trait Y, for_each_Y_X() iterates and calls back a function of
type each_X_fn (e.g. for_each_tag_ref() still calls each_ref_fn).

I do not offhand think of a reason why the above code need to
deviate from that pattern.

Re: [GSoC][PATCH v2 2/4] submodule--helper: introduce for_each_submodule()

From: Stefan Beller <hidden>
Date: 2017-08-23 19:31:18

On Wed, Aug 23, 2017 at 12:13 PM, Junio C Hamano [off-list ref] wrote:
Prathamesh Chavan [off-list ref] writes:
quoted
+typedef void (*submodule_list_func_t)(const struct cache_entry *list_item,
+                                   void *cb_data);
+
 static char *get_default_remote(void)
 {
      char *dest = NULL, *ret;
@@ -353,17 +356,30 @@ static int module_list(int argc, const char **argv, const char *prefix)
      return 0;
 }

-static void init_submodule(const char *path, const char *prefix, int quiet)
+static void for_each_submodule(const struct module_list *list,
+                            submodule_list_func_t fn, void *cb_data)
In the output from

        $ git grep for_each \*.h

we find that the convention is that an interator over a group of X
is for_each_X,
... which this is...
the callback function that is given to for_each_X is
of type each_X_fn.
So you suggest s/submodule_list_func_t/each_submodule_fn/
An interator over a subset of group of X that
has trait Y, for_each_Y_X() iterates and calls back a function of
type each_X_fn (e.g. for_each_tag_ref() still calls each_ref_fn).
This reads as a suggestion for for_each_listed_submodule
as the name.
I do not offhand think of a reason why the above code need to
deviate from that pattern.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help