Re: fatal from submodule status --recursive when used with grep -q
Yes and also to have a 0 exit code. No error occurred from my perspective.
Matt
On Thu, Sep 19, 2024 at 7:22 AM <phillip.wood123@gmail.com> wrote:
Show 48 quoted lines
>
> 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
>
> > 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
> > >
> >