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

Re: [PATCH 2/2] t0000: avoid masking git exit value through pipes

From
Taylor Blau <me@ttaylorr.com>
Date
Sep 16, 2021, 05:21 UTC
Message-ID
<YULUS3kYkB4RXv2K@nand.local>
In-Reply-To
<20210916023706.55760-3-carenas@gmail.com>
On Wed, Sep 15, 2021 at 07:37:06PM -0700, Carlo Marcelo Arenas Belón wrote:
> 9af0b8dbe2 (t0000-basic: more commit-tree tests., 2006-04-26) adds
> tets for commit-tree that mask the return exit from git as described
s/tets/tests
Show 15 quoted lines
> diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
> index cb87768513..545ff5af13 100755
> --- a/t/t0000-basic.sh
> +++ b/t/t0000-basic.sh
> @@ -1270,26 +1270,31 @@ test_expect_success 'no diff after checkout and git update-index --refresh' '
>  P=$(test_oid root)
>
>  test_expect_success 'git commit-tree records the correct tree in a commit' '
> -	commit0=$(echo NO | git commit-tree $P) &&
> -	tree=$(git show --pretty=raw $commit0 |
> -		 sed -n -e "s/^tree //p" -e "/^author /q") &&
> +	echo NO | git commit-tree $P >out &&
> +	commit0=$(cat out) &&
> +	git show --pretty=raw $commit0 >out &&
> +	tree=$(cat out | sed -n -e "s/^tree //p" -e "/^author /q") &&

In this and the below tests which had a similar transformation, the first invocation does not mask its error, since it's on the right-hand side of a pipe.

But piping "git show" to sed will mask the exit code of the former. So that makes sense. But I would like to see us avoid an unnecessary cat-into-pipe and instead redirect out into sed, like "sed -n -e ... <out".

Thanks, Taylor

Previous: Carlo Marcelo Arenas BelónNext: Junio C Hamano
Message 6 of 15 in “t0000: truly leak free”
  1. 0/2 t0000: truly leak freeCarlo Marcelo Arenas Belón, Sep 16, 2021
  2. 1/2 tree-diff: fix leak when not HAVE_ALLOCACarlo Marcelo Arenas Belón, Sep 16, 2021
  3. Taylor BlauSep 16, 2021
  4. Junio C HamanoSep 16, 2021
  5. 2/2 t0000: avoid masking git exit value through pipesCarlo Marcelo Arenas Belón, Sep 16, 2021
  6. Taylor BlauSep 16, 2021
  7. Junio C HamanoSep 16, 2021
  8. Taylor BlauSep 16, 2021
  9. Junio C HamanoSep 16, 2021
  10. Ævar Arnfjörð BjarmasonSep 16, 2021
  11. 0/2 reroll for cb/plug-leaks-in-alloca-emu-usersCarlo Marcelo Arenas Belón, Sep 16, 2021
  12. 1/2 tree-diff: fix leak when not HAVE_ALLOCA_HCarlo Marcelo Arenas Belón, Sep 16, 2021
  13. Jeff KingSep 16, 2021
  14. 2/2 t0000: avoid masking git exit value through pipesCarlo Marcelo Arenas Belón, Sep 16, 2021
  15. Taylor BlauSep 16, 2021

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.