git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: fatal from submodule status --recursive when used with grep -q

From
MLMatt Liberty <mliberty@precisioninno.com>
Date
Sep 18, 2024, 14:45 UTC
Message-ID
<CAKDm0rNjAYMu8=h8ApvEHw71fgH2VW0iCjTMqvysQ7YBUnJZyw@mail.gmail.com>
In-Reply-To
<7b4ce2fc-3763-4881-8459-e0c1f2cbc69d@gmail.com>

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@gmail.com> wrote:
Show 29 quoted lines
>
> 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
> >
Previous: Phillip WoodNext: Junio C Hamano
Message 3 of 11 in “fatal from submodule status --recursive when used with grep -q”
  1. Matt LibertySep 16, 2024
  2. Phillip WoodSep 18, 2024
  3. Matt LibertySep 18, 2024
  4. Junio C HamanoSep 19, 2024
  5. Matt LibertySep 19, 2024
  6. phillip.wood123@gmail.comSep 19, 2024
  7. Matt LibertySep 19, 2024
  8. Junio C HamanoSep 19, 2024
  9. Eric SunshineSep 19, 2024
  10. Matt LibertySep 19, 2024
  11. phillip.wood123@gmail.comSep 20, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.