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

[PATCH v3 08/10] pretty: provide short date format

From
Denton Liu <liu.denton@gmail.com>
Date
Nov 14, 2019, 20:47 UTC
Message-ID
<fe5cb165ae9550673bcc61057672381c4f524e46.1573764280.git.liu.denton@gmail.com>
In-Reply-To
<cover.1573764280.git.liu.denton@gmail.com>
From: René Scharfe <l.s.r@web.de>

Add the placeholders %as and %cs to format author date and committer date, respectively, without the time part, like --date=short does, i.e. like YYYY-MM-DD.

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Denton Liu <liu.denton@gmail.com>
---
 Documentation/pretty-formats.txt | 2 ++
 pretty.c                         | 3 +++
 t/t4205-log-pretty-formats.sh    | 6 ++++++
 3 files changed, 11 insertions(+)
diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt
index 4cefa64eeb..11979301ff 100644
--- a/Documentation/pretty-formats.txt
+++ b/Documentation/pretty-formats.txt
@@ -172,6 +172,7 @@ The placeholders are:
 '%at':: author date, UNIX timestamp
 '%ai':: author date, ISO 8601-like format
 '%aI':: author date, strict ISO 8601 format
+'%as':: author date, short format (`YYYY-MM-DD`)
 '%cn':: committer name
 '%cN':: committer name (respecting .mailmap, see
 	linkgit:git-shortlog[1] or linkgit:git-blame[1])
@@ -187,6 +188,7 @@ The placeholders are:
 '%ct':: committer date, UNIX timestamp
 '%ci':: committer date, ISO 8601-like format
 '%cI':: committer date, strict ISO 8601 format
+'%cs':: committer date, short format (`YYYY-MM-DD`)
 '%d':: ref names, like the --decorate option of linkgit:git-log[1]
 '%D':: ref names without the " (", ")" wrapping.
 '%S':: ref name given on the command line by which the commit was reached
diff --git a/pretty.c b/pretty.c
index 4d633f14fa..4d7f5e9aab 100644
--- a/pretty.c
+++ b/pretty.c
@@ -738,6 +738,9 @@ static size_t format_person_part(struct strbuf *sb, char part,
 	case 'I':	/* date, ISO 8601 strict */
 		strbuf_addstr(sb, show_ident_date(&s, DATE_MODE(ISO8601_STRICT)));
 		return placeholder_len;
+	case 's':
+		strbuf_addstr(sb, show_ident_date(&s, DATE_MODE(SHORT)));
+		return placeholder_len;
 	}
 
 skip:
diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
index 0335b428b1..da9cacffea 100755
--- a/t/t4205-log-pretty-formats.sh
+++ b/t/t4205-log-pretty-formats.sh
@@ -533,6 +533,12 @@ test_expect_success 'ISO and ISO-strict date formats display the same values' '
 	test_cmp expected actual
 '
 
+test_expect_success 'short date' '
+	git log --format=%ad%n%cd --date=short >expected &&
+	git log --format=%as%n%cs >actual &&
+	test_cmp expected actual
+'
+
 # get new digests (with no abbreviations)
 test_expect_success 'set up log decoration tests' '
 	head1=$(git rev-parse --verify HEAD~0) &&
-- 
2.24.0.346.gee0de6d492
Previous: Denton LiuNext: Denton Liu
Message 46 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.