I'm not trying to capture the exit status of git but of grep. Compare it to "yes|grep -q y" which doesn't generate any error even though yes generates endless output. Thanks Matt On Wed, Sep 18, 2024 at 3:05 AM Phillip Wood <phillip.wood123@xxxxxxxxx> wrote: > > Hi Matt > > On 16/09/2024 16:08, Matt Liberty wrote: > > > > If I try to grep the output I get a fatal error: > > > > % git submodule status --recursive | grep -q "^+" > > fatal: failed to recurse into submodule 'tools/OpenROAD' > > > > I didn't expect any output but did want the return status (0). I'm > > guessing git is unhappy that grep -q exits on the first occurrence of > > the pattern. I don't feel fatal is appropriate here. > > I assume git is dying with SIGPIPE. As the only purpose of "git > submodule status" is to write the status information to stdout that > sounds reasonable. If you want to collect the exit status you need to > consume the whole output so that the command runs to completion. > > Best Wishes > > Phillip > > > I can work around this by writing to a tmpfile but would like to see > > this addressed. > > > > Thanks! > > Matt > >