On Thu, Apr 28, 2016 at 03:44:50PM -0700, Junio C Hamano wrote: > > I do not think "fetch" should grow submodule-specific > > options,... > > The updated "git fetch" needs to grow submodule-specific options to > at least either enable or disable "recurse into submodules", and > that is true even if the default behaviour in the future were to > recurse into submodules in a top-level project repository that has > submodules (i.e. you must have "git fetch --no-recurse-submodules" > option). "Please use these configuration when you do recurse into > them" options are very much submodule specific in the same way. I suppose so. I actually think it might be useful / convenient to have a global "do not recurse" environment variable (and possibly a matching "git --recurse" command-line flag to set it). Otherwise we end up with annoying propagation problems for command-line options when scripts call other programs, etc. It's one of the reasons I think "-c" is so useful. Because it Just Works for the whole environment of the command you are invoking, without having to worry about whether it's "git fetch" itself, or "git remote" calling "git fetch", or a script calling "git fetch", or whatever. Of course there are downsides, too. If you're a script who really _doesn't_ want to propagate that option to your children, you have to take an explicit step to prevent it. But I think it helps more often than hurts. I think there are other options that would benefit, too. For example, the way we handle "--progress", "--verbose", and "--quiet" is a bit of a mess. All of our programs understand these concepts to some degree, and there have been numerous bugs involve in propagating their values to sub-programs. Having "$GIT_VERBOSITY_LEVEL" in the environment would probably make this simpler and more consistent. But you'll note that this email isn't accompanied by any patches. This is philosophical, and I'm not sure it's worth the effort to transition things like verbosity at this point. So you may take it with the appropriate grain of salt. And especially I don't actually care all that much about submodules myself, so I am fine with whatever people who _are_ actively using and developing them decide. -Peff -- 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