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

Re: [PATCH v2 07/10] t4205: cover `git log --reflog -z` blindspot

From
Denton Liu <liu.denton@gmail.com>
Date
Nov 8, 2019, 21:47 UTC
Message-ID
<20191108214711.GA27310@generichostname>
In-Reply-To
<CAPig+cQDMSwP5-D-=LgjBPH2kJK16Fv4c619Pg6OTU95CQ9sgw@mail.gmail.com>
Hi Eric,
On Fri, Nov 08, 2019 at 03:36:25PM -0500, Eric Sunshine wrote:
[...]
Show 9 quoted lines
>     for r in $(git rev-list --reflog)
>     do
>         git show -s --pretty="$p" "$r" &&
>         printf "\0" || return 1
>     done >expect &&
> 
> For completeness, the above example also drops the unnecessary 'revs'
> variable, uses double quotes rather than single when interpolating $p,
> and makes the loop early-exit a bit more idiomatic.

The reason why I pulled out `revs` was because putting the rev-list within the for-loop would cause its exit code to be lost if it ever failed. Since I've been cleaning up test scripts to not lose exit codes from git commands, I figured it'd be a bad idea to introduce an instance here ;)

Thanks for the other two suggestions, though. I didn't know that you could write it like that.

> > +       git log -z --pretty=oneline --reflog >actual &&
> > +       # no trailing NUL
> 
> To what is this comment referring?

I wanted to point out how in the oneline case, the trailing NUL is already included, unlike in the multiple cases, so we don't need to output another one.

I'll rewrite this as
	# the trailing NUL is already produced so we don't need to
	# output another one
Thanks for your feedback,
Denton
Previous: Eric SunshineNext: Eric Sunshine
Message 25 of 81 in “learn the "summary" pretty format”
  1. 0/8 learn the "summary" pretty formatDenton Liu, Nov 4, 2019
  2. 1/8 pretty-formats.txt: use generic terms for hashDenton Liu, Nov 4, 2019
  3. 2/8 revision: make get_revision_mark() return const pointerDenton Liu, Nov 4, 2019
  4. 3/8 revision: change abbrev_commit_given to abbrev_commit_explicitDenton Liu, Nov 4, 2019
  5. 4/8 pretty.c: inline initalize format_contextDenton Liu, Nov 4, 2019
  6. 5/8 pretty.c: extract functionality to repo_format_commit_generic()Denton Liu, Nov 4, 2019
  7. 6/8 reflog-walk.c: don't print last newline with onelineDenton Liu, Nov 4, 2019
  8. Junio C HamanoNov 6, 2019
  9. Denton LiuNov 8, 2019
  10. 7/8 pretty: implement 'summary' formatDenton Liu, Nov 4, 2019
  11. Eric SunshineNov 4, 2019
  12. Denton LiuNov 4, 2019
  13. Eric SunshineNov 4, 2019
  14. Denton LiuNov 4, 2019
  15. 8/8 SubmittingPatches: use `--pretty=summary`Denton Liu, Nov 4, 2019
  16. 00/10 learn the "summary" pretty formatDenton Liu, Nov 8, 2019
  17. 01/10 SubmittingPatches: use generic terms for hashDenton Liu, Nov 8, 2019
  18. 02/10 pretty-formats.txt: use generic terms for hashDenton Liu, Nov 8, 2019
  19. 03/10 revision: make get_revision_mark() return const pointerDenton Liu, Nov 8, 2019
  20. 04/10 revision: change abbrev_commit_given to abbrev_commit_explicitDenton Liu, Nov 8, 2019
  21. 06/10 pretty.c: extract functionality to repo_format_commit_generic()Denton Liu, Nov 8, 2019
  22. 05/10 pretty.c: inline initalize format_contextDenton Liu, Nov 8, 2019
  23. 07/10 t4205: cover `git log --reflog -z` blindspotDenton Liu, Nov 8, 2019
  24. Eric SunshineNov 8, 2019
  25. Denton LiuNov 8, 2019
  26. Eric SunshineNov 8, 2019
  27. 08/10 reflog-walk.c: move where the newline is addedDenton Liu, Nov 8, 2019
  28. 09/10 pretty: implement 'summary' formatDenton Liu, Nov 8, 2019
  29. Eric SunshineNov 8, 2019
  30. René ScharfeNov 9, 2019
  31. Junio C HamanoNov 10, 2019
  32. Denton LiuNov 11, 2019
  33. SZEDER GáborNov 14, 2019
  34. Junio C HamanoNov 14, 2019
  35. René ScharfeNov 9, 2019
  36. SZEDER GáborNov 14, 2019
  37. 10/10 SubmittingPatches: use `--pretty=summary`Denton Liu, Nov 8, 2019
  38. 00/10 learn the "reference" pretty formatDenton Liu, Nov 14, 2019
  39. 01/10 SubmittingPatches: use generic terms for hashDenton Liu, Nov 14, 2019
  40. 02/10 pretty-formats.txt: use generic terms for hashDenton Liu, Nov 14, 2019
  41. 03/10 SubmittingPatches: remove dq from commit referenceDenton Liu, Nov 14, 2019
  42. 04/10 completion: complete `tformat:` pretty formatDenton Liu, Nov 14, 2019
  43. 05/10 revision: make get_revision_mark() return const pointerDenton Liu, Nov 14, 2019
  44. 06/10 pretty.c: inline initalize format_contextDenton Liu, Nov 14, 2019
  45. 07/10 t4205: cover `git log --reflog -z` blindspotDenton Liu, Nov 14, 2019
  46. 08/10 pretty: provide short date formatDenton Liu, Nov 14, 2019
  47. 10/10 SubmittingPatches: use `--pretty=reference`Denton Liu, Nov 14, 2019
  48. 09/10 pretty: implement 'reference' formatDenton Liu, Nov 14, 2019
  49. Todd ZullingerNov 15, 2019
  50. Junio C HamanoNov 15, 2019
  51. SZEDER GáborNov 15, 2019
  52. Junio C HamanoNov 16, 2019
  53. Junio C HamanoNov 18, 2019
  54. Junio C HamanoNov 18, 2019
  55. Eric SunshineNov 15, 2019
  56. 00/11 learn the "reference" pretty formatDenton Liu, Nov 19, 2019
  57. 01/11 SubmittingPatches: use generic terms for hashDenton Liu, Nov 19, 2019
  58. 02/11 pretty-formats.txt: use generic terms for hashDenton Liu, Nov 19, 2019
  59. 03/11 SubmittingPatches: remove dq from commit referenceDenton Liu, Nov 19, 2019
  60. 04/11 completion: complete `tformat:` pretty formatDenton Liu, Nov 19, 2019
  61. 05/11 revision: make get_revision_mark() return const pointerDenton Liu, Nov 19, 2019
  62. 06/11 pretty.c: inline initalize format_contextDenton Liu, Nov 19, 2019
  63. 07/11 t4205: cover `git log --reflog -z` blindspotDenton Liu, Nov 19, 2019
  64. 08/11 pretty: provide short date formatDenton Liu, Nov 19, 2019
  65. 09/11 pretty: implement 'reference' formatDenton Liu, Nov 19, 2019
  66. 10/11 SubmittingPatches: use `--pretty=reference`Denton Liu, Nov 19, 2019
  67. 11/11 squash! pretty: implement 'reference' formatDenton Liu, Nov 19, 2019
  68. Junio C HamanoNov 19, 2019
  69. 00/11 learn the "reference" pretty formatDenton Liu, Nov 20, 2019
  70. 01/11 SubmittingPatches: use generic terms for hashDenton Liu, Nov 20, 2019
  71. 02/11 pretty-formats.txt: use generic terms for hashDenton Liu, Nov 20, 2019
  72. 03/11 SubmittingPatches: remove dq from commit referenceDenton Liu, Nov 20, 2019
  73. 04/11 completion: complete `tformat:` pretty formatDenton Liu, Nov 20, 2019
  74. 05/11 revision: make get_revision_mark() return const pointerDenton Liu, Nov 20, 2019
  75. 06/11 pretty.c: inline initalize format_contextDenton Liu, Nov 20, 2019
  76. 07/11 t4205: cover `git log --reflog -z` blindspotDenton Liu, Nov 20, 2019
  77. 08/11 pretty: provide short date formatDenton Liu, Nov 20, 2019
  78. 09/11 pretty: add struct cmt_fmt_map::default_date_mode_typeDenton Liu, Nov 20, 2019
  79. Junio C HamanoNov 20, 2019
  80. 10/11 pretty: implement 'reference' formatDenton Liu, Nov 20, 2019
  81. 11/11 SubmittingPatches: use `--pretty=reference`Denton Liu, Nov 20, 2019

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.