From: Johannes Schindelin Date: Thu, 27 Aug 2015 12:36:08 GMT Subject: Re: [PATCH 1/5] submodule: implement `module_clone` as a builtin helper Message-ID: <92ffde8a07de2a4d50f79ecb7350dbb3@www.dscho.org> In-Reply-To: <1440636766-12738-2-git-send-email-sbeller@google.com> Hi Stefan, thank you so much for doing this. `git submodule` is really, really slow on Windows... On 2015-08-27 02:52, Stefan Beller wrote: > diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c > index 4b32a3c..f11fb9c 100644 > --- a/builtin/submodule--helper.c > +++ b/builtin/submodule--helper.c > [...] > + > +/* > + * Clone a submodule > + * > + * $1 = submodule path > + * $2 = submodule name > + * $3 = URL to clone > + * $4 = reference repository to reuse (empty for independent) > + * $5 = depth argument for shallow clones (empty for deep) I think this description is now safely obsolete and can be deleted: you introduced explicit options like --depth to avoid the "magic" of positional parameters. > +static int module_clone(int argc, const char **argv, const char *prefix) > +{ > + const char *path = NULL, *name = NULL, *url = NULL, *reference = > NULL, *depth = NULL; This line is a little long ;-) > @@ -135,6 +290,9 @@ int cmd_submodule__helper(int argc, const char > **argv, const char *prefix) > if (!strcmp(argv[1], "module_name")) > return module_name(argc - 2, argv + 2, prefix); > > + if (!strcmp(argv[1], "module_clone")) > + return module_clone(argc - 1, argv + 1, prefix); > + > usage: > - usage("git submodule--helper [module_list module_name]\n"); > + usage("git submodule--helper [module_list module_name module_clone]\n"); Was the convention not to use ( ... | ... | ... )? Thanks, Dscho