"Phillip Wood via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> > > It has been reported than running > > git submodule status --recurse | grep -q ^+ > > results in an unexpected error message > > fatal: failed to recurse into submodule $submodule > > When "git submodule--helper" recurses into a submodule it creates a > child process. If that process fails then the error message above is > displayed by the parent. In the case above the child is killed by > SIGPIPE as "grep -q" exits as soon as it sees the first match. Fix this > by propagating SIGPIPE so that it is visible to the process running > git. We could propagate other signals but I'm not sure there is much > value in doing that. In the common case of the user pressing Ctrl-C or > Ctrl-\ then SIGINT or SIGQUIT will be sent to the foreground process > group and so the parent process will receive the same signal as the > child. > > Reported-by: Matt Liberty <mliberty@xxxxxxxxxxxxxxxxx> > Signed-off-by: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> > --- > submodule status: propagate SIGPIPE > > Note that I haven't checked if any other submodule subcommands are > affected by this - I'll leave that to someone more familiar with the > code. Thanks. Queued.