Re: fatal from submodule status --recursive when used with grep -q
- From
- phillip.wood123@gmail.com <phillip.wood123@gmail.com>
- Date
- Sep 19, 2024, 14:22 UTC
- Message-ID
- <467f6fb4-5f83-416b-bc09-572a82f210ea@gmail.com>
- In-Reply-To
- <CAKDm0rMsXUpFSWRWkW0J0FUpEbot6wQqdzYTT5CLZ=3TGbV-OA@mail.gmail.com>
On 18/09/2024 15:28, Matt Liberty wrote:
> 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.
Sorry, I'd misunderstood your original message. So the problem is that you want "git submodule status" to be quiet (i.e. not print an error message) when it dies of SIGPIPE?
Best Wishes
Phillip
Show 34 quoted lines
> Matt > > On Wed, Sep 18, 2024 at 3:05 AM Phillip Wood <phillip.wood123@gmail.com > <mailto:phillip.wood123@gmail.com>> 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 > > PhillipSo > > > I can work around this by writing to a tmpfile but would like to see > > this addressed. > > > > Thanks! > > Matt > > >