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

Re: [PATCH v2 16/22] t/t3*: merge a "grep | awk" pipeline

From
Taylor Blau <me@ttaylorr.com>
Date
Mar 16, 2024, 15:46 UTC
Message-ID
<ZfW+8GTKlxq1S1Tx@nand.local>
In-Reply-To
<5aacb015-c01a-4c6f-8e37-931581aa71b6@drbeat.li>
On Sat, Mar 16, 2024 at 11:09:47AM +0100, Beat Bolli wrote:
Show 40 quoted lines
> On 16.03.24 02:49, Taylor Blau wrote:
> > On Fri, Mar 15, 2024 at 08:46:13PM +0100, Beat Bolli wrote:
> > > Signed-off-by: Beat Bolli <dev+git@drbeat.li>
> > > ---
> > >   t/t3920-crlf-messages.sh | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/t/t3920-crlf-messages.sh b/t/t3920-crlf-messages.sh
> > > index 5eed640a6825..50ae222f0842 100755
> > > --- a/t/t3920-crlf-messages.sh
> > > +++ b/t/t3920-crlf-messages.sh
> > > @@ -97,7 +97,7 @@ test_expect_success 'branch: --verbose works with messages using CRLF' '
> > >   	git branch -v >tmp &&
> > >   	# Remove first two columns, and the line for the currently checked out branch
> > >   	current=$(git branch --show-current) &&
> > > -	grep -v $current <tmp | awk "{\$1=\$2=\"\"}1"  >actual &&
> > > +	awk "/$current/ { next } { \$1 = \$2 = \"\" } 1" <tmp >actual &&
> >
> > I think that using `next` here is fine to ignore lines that match
> > `$current`, but the canonical approach would probably be using the
> > `!` operator instead to negate the match, like so:
> >
> >      awk "!/$current/ { \$1 = \$2 = \"\" } 1" <tmp >actual &&
> >
> > Not worth a reroll, of course, just something that I noticed while
> > reading.
>
> Except it's not the same :-) This was actually my first try, but then I
> realized that awk continues to evaluate patterns and actions until the end
> of the script. The "1" at the end is the "always true" pattern that causes
> the default action "print $0" to run.
>
> So the "next" is needed to discard the current line.
>
> Having said this,
>
>     awk "!/$current/ { \$1 = \$2 = \"\"; print \$0 }" <tmp >actual &&
>
> would work, and it would also remove the obscure flow detailed above.
>

Ah. Thanks for the explanation. These details would not hurt to have in a commit message, but I think that this change is fine as-is. Those curious enough can likely find this thread on the list for this particular instance.

But these sort of less-than-trivial details are exactly the sorts of things we like to capture in a well-written patch message.

Thanks, Taylor

Previous: Beat BolliNext: Beat Bolli
Message 70 of 78 in “avoid redundant pipelines”
  1. 00/22 avoid redundant pipelinesBeat Bolli, Mar 5, 2024
  2. 01/22 doc: avoid redundant use of catBeat Bolli, Mar 5, 2024
  3. Junio C HamanoMar 5, 2024
  4. 02/22 contrib/subtree/t: avoid redundant use of catBeat Bolli, Mar 5, 2024
  5. Junio C HamanoMar 5, 2024
  6. 03/22 t/lib-cvs.sh: avoid redundant use of catBeat Bolli, Mar 5, 2024
  7. Junio C HamanoMar 5, 2024
  8. 04/22 t/annotate-tests.sh: avoid redundant use of catBeat Bolli, Mar 5, 2024
  9. Junio C HamanoMar 5, 2024
  10. Rubén JustoMar 6, 2024
  11. Junio C HamanoMar 6, 2024
  12. Rubén JustoMar 6, 2024
  13. 05/22 t/perf: avoid redundant use of catBeat Bolli, Mar 5, 2024
  14. Junio C HamanoMar 5, 2024
  15. 06/22 t/t0*: avoid redundant uses of catBeat Bolli, Mar 5, 2024
  16. 07/22 t/t1*: avoid redundant uses of catBeat Bolli, Mar 5, 2024
  17. 08/22 t/t3*: avoid redundant uses of catBeat Bolli, Mar 5, 2024
  18. 09/22 t/t4*: avoid redundant uses of catBeat Bolli, Mar 5, 2024
  19. Junio C HamanoMar 6, 2024
  20. Eric SunshineMar 6, 2024
  21. Beat BolliMar 6, 2024
  22. 10/22 t/t5*: avoid redundant uses of catBeat Bolli, Mar 5, 2024
  23. 11/22 t/t6*: avoid redundant uses of catBeat Bolli, Mar 5, 2024
  24. 12/22 t/t7*: avoid redundant use of catBeat Bolli, Mar 5, 2024
  25. 13/22 t/t8*: avoid redundant use of catBeat Bolli, Mar 5, 2024
  26. 14/22 t/t9*: avoid redundant uses of catBeat Bolli, Mar 5, 2024
  27. Rubén JustoMar 5, 2024
  28. Junio C HamanoMar 6, 2024
  29. Rubén JustoMar 6, 2024
  30. 15/22 t/t1*: merge a "grep | sed" pipelineBeat Bolli, Mar 5, 2024
  31. 16/22 t/t3*: merge a "grep | awk" pipelineBeat Bolli, Mar 5, 2024
  32. Junio C HamanoMar 6, 2024
  33. 17/22 t/t4*: merge a "grep | sed" pipelineBeat Bolli, Mar 5, 2024
  34. 18/22 t/t5*: merge a "grep | sed" pipelineBeat Bolli, Mar 5, 2024
  35. Junio C HamanoMar 6, 2024
  36. 19/22 t/t8*: merge "grep | sed" pipelinesBeat Bolli, Mar 5, 2024
  37. Junio C HamanoMar 6, 2024
  38. Todd ZullingerMar 6, 2024
  39. Junio C HamanoMar 6, 2024
  40. Beat BolliMar 6, 2024
  41. Junio C HamanoMar 6, 2024
  42. 20/22 t/t9*: merge "grep | sed" pipelinesBeat Bolli, Mar 5, 2024
  43. Junio C HamanoMar 6, 2024
  44. 21/22 contrib/coverage-diff: avoid redundant pipelinesBeat Bolli, Mar 5, 2024
  45. 22/22 git-quiltimport: avoid an unnecessary subshellBeat Bolli, Mar 5, 2024
  46. Rubén JustoMar 5, 2024
  47. Rubén JustoMar 5, 2024
  48. Junio C HamanoMar 5, 2024
  49. 00/22 avoid redundant pipelinesBeat Bolli, Mar 15, 2024
  50. 01/22 doc: avoid redundant use of catBeat Bolli, Mar 15, 2024
  51. 07/22 t/t1*: avoid redundant uses of catBeat Bolli, Mar 15, 2024
  52. 06/22 t/t0*: avoid redundant uses of catBeat Bolli, Mar 15, 2024
  53. 02/22 contrib/subtree/t: avoid redundant use of catBeat Bolli, Mar 15, 2024
  54. 08/22 t/t3*: avoid redundant uses of catBeat Bolli, Mar 15, 2024
  55. 03/22 t/lib-cvs.sh: avoid redundant use of catBeat Bolli, Mar 15, 2024
  56. 09/22 t/t4*: avoid redundant uses of catBeat Bolli, Mar 15, 2024
  57. Taylor BlauMar 16, 2024
  58. Junio C HamanoMar 16, 2024
  59. 04/22 t/annotate-tests.sh: avoid redundant use of catBeat Bolli, Mar 15, 2024
  60. 10/22 t/t5*: avoid redundant uses of catBeat Bolli, Mar 15, 2024
  61. 05/22 t/perf: avoid redundant use of catBeat Bolli, Mar 15, 2024
  62. 11/22 t/t6*: avoid redundant uses of catBeat Bolli, Mar 15, 2024
  63. 12/22 t/t7*: avoid redundant use of catBeat Bolli, Mar 15, 2024
  64. 13/22 t/t8*: avoid redundant use of catBeat Bolli, Mar 15, 2024
  65. 14/22 t/t9*: avoid redundant uses of catBeat Bolli, Mar 15, 2024
  66. 15/22 t/t1*: merge a "grep | sed" pipelineBeat Bolli, Mar 15, 2024
  67. 16/22 t/t3*: merge a "grep | awk" pipelineBeat Bolli, Mar 15, 2024
  68. Taylor BlauMar 16, 2024
  69. Beat BolliMar 16, 2024
  70. Taylor BlauMar 16, 2024
  71. 17/22 t/t4*: merge a "grep | sed" pipelineBeat Bolli, Mar 15, 2024
  72. 18/22 t/t5*: merge a "grep | sed" pipelineBeat Bolli, Mar 15, 2024
  73. 19/22 t/t8*: merge "grep | sed" pipelinesBeat Bolli, Mar 15, 2024
  74. 20/22 t/t9*: merge "grep | sed" pipelinesBeat Bolli, Mar 15, 2024
  75. 21/22 contrib/coverage-diff: avoid redundant pipelinesBeat Bolli, Mar 15, 2024
  76. 22/22 git-quiltimport: avoid an unnecessary subshellBeat Bolli, Mar 15, 2024
  77. Taylor BlauMar 16, 2024
  78. Junio C HamanoMar 16, 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.