On Sep 17, 2010, at 5:22 AM, Jens Lehmann wrote: >> As far as stderr of the child is concerned, if you only want to re-use the >> standard error of the parent, then not assigning anything to cp.err is >> correct (it was set to 0 in the memset before this hunk). But perhaps you >> want to achieve something else? > > Nope. You are right, setting both to 0 (via the memset) to inherit the > channel from the parent is just what is needed here. > > So the correct fix should look like this: > > > diff --git a/submodule.c b/submodule.c > index e2c3bae..209efa4 100644 > --- a/submodule.c > +++ b/submodule.c > @@ -260,7 +260,6 @@ int fetch_populated_submodules(int forced) > cp.env = local_repo_env; > cp.git_cmd = 1; > cp.no_stdin = 1; > - cp.out = -1; > > for (i = 0; i < active_nr; i++) { > struct strbuf submodule_path = STRBUF_INIT; Yep, this patch fixes the output issue. Now all submodules are reported. However, they're still not prefixed with the previous layers, so it appears like all submodules are rooted in the current directory, which is obviously not true. And of course the performance issue is still relevant. -Kevin Ballard-- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html