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

[PATCH v4 00/11] learn the "reference" pretty format

From
Denton Liu <liu.denton@gmail.com>
Date
Nov 19, 2019, 00:21 UTC
Message-ID
<cover.1574122784.git.liu.denton@gmail.com>
In-Reply-To
<cover.1573764280.git.liu.denton@gmail.com>

On this mailing list (and many others) the standard way to reference other commits with the "reference" format, e.g. "f86a374 (pack-bitmap.c: fix a memleak, 2015-03-30)". Since it's so commonly used, let's standardise it as a pretty format.

Patches 5-7 were cleanup patches that were critical in earlier iterations of the series but no longer are critical for the rest of the patchset. Nonetheless, let's include them since they improve the quality of the codebase.

Changes since v3:
* Change one reference from "summary" to "reference"
* Clarify --pretty=reference documentation
* Add a squashable patch at the end to implement overridable --date
Changes since v2:
* Rename from "summary" to "reference"
* Implement the feature as a canned userformat
* Implement the %*s (short date) format string element
* Remove the enclosing dqs around the subject
Changes since v1:
* Replace more references to "sha1" with "hash"
* Clean up 8/10 by losing the allocation and making the subject less
  misleading
* Add tests in 7/10 to ensure 8/10 does not change any behaviour
Denton Liu (10):
  SubmittingPatches: use generic terms for hash
  pretty-formats.txt: use generic terms for hash
  SubmittingPatches: remove dq from commit reference
  completion: complete `tformat:` pretty format
  revision: make get_revision_mark() return const pointer
  pretty.c: inline initalize format_context
  t4205: cover `git log --reflog -z` blindspot
  pretty: implement 'reference' format
  SubmittingPatches: use `--pretty=reference`
  squash! pretty: implement 'reference' format
René Scharfe (1):
  pretty: provide short date format
 Documentation/SubmittingPatches        | 16 ++++--
 Documentation/pretty-formats.txt       | 29 +++++++---
 Documentation/pretty-options.txt       |  2 +-
 Documentation/rev-list-options.txt     |  4 +-
 contrib/completion/git-completion.bash |  2 +-
 pretty.c                               | 23 ++++++--
 revision.c                             |  4 +-
 revision.h                             |  4 +-
 t/t4205-log-pretty-formats.sh          | 79 ++++++++++++++++++++++++++
 9 files changed, 137 insertions(+), 26 deletions(-)
Range-diff against v3:
 1:  d0f0b86f5f =  1:  3b9b72feec SubmittingPatches: use generic terms for hash
 2:  aabd7574d2 =  2:  2cc7cc6e75 pretty-formats.txt: use generic terms for hash
 3:  ef0adc260d =  3:  61e1a25f93 SubmittingPatches: remove dq from commit reference
 4:  d7e4dc9154 =  4:  5d9fd9d632 completion: complete `tformat:` pretty format
 5:  cc219ec513 =  5:  bfb216954b revision: make get_revision_mark() return const pointer
 6:  883517ee65 =  6:  34e1b6a7ac pretty.c: inline initalize format_context
 7:  b35b287635 =  7:  78e4d75d2b t4205: cover `git log --reflog -z` blindspot
 8:  b0ac175d6f =  8:  9d4dfcc115 pretty: provide short date format
 9:  a4b87ad271 !  9:  5042161d73 pretty: implement 'reference' format
    @@ Documentation/pretty-formats.txt: This is designed to be as compact as possible.
     +
     +	  <abbrev hash> (<title line>, <short author date>)
     ++
    -+This format is useful for referring to other commits when writing a new
    -+commit message. It uses the following canned user format:
    -+`%C(auto)%h (%s, %as)`. This means it will not respect options that
    -+change the output format such as `--date` `--no-abbrev-commit`, and
    -+`--walk-reflogs`.
    ++This format is used to refer to another commit in a commit message and
    ++is the same as `--pretty='format:%C(auto)%h (%s, %as)'`.  As with any
    ++`format:` with format placeholders, its output is not affected by other
    ++options like `--decorate` and `--walk-reflogs`.
     +
      * 'email'
      
    @@ Documentation/rev-list-options.txt: Under `--pretty=oneline`, the commit message
      This option cannot be combined with `--reverse`.
      See also linkgit:git-reflog[1].
     ++
    -+Under `--pretty=summary`, this information will not be shown at all.
    ++Under `--pretty=reference`, this information will not be shown at all.
      
      --merge::
      	After a failed merge, show refs that touch files having a
10:  04d24cbf4b = 10:  888c496991 SubmittingPatches: use `--pretty=reference`
 -:  ---------- > 11:  580aa7c88c squash! pretty: implement 'reference' format
-- 
2.24.0.420.g9ac4901264
Previous: Eric SunshineNext: Denton Liu
Message 56 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.