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

[PATCH 2/2] pretty: add %D format specifier

From
Harry Jeffery <harry@exec64.co.uk>
Date
Sep 10, 2014, 22:00 UTC
Message-ID
<5410C9EF.9080509@exec64.co.uk>
In-Reply-To
<5410C998.5060701@exec64.co.uk>

%d prints decorations wrapped by " (" and ")". %D provides the same output without the parenthesis, making " (%D)" and "%d" equivalent to one another.

Signed-off-by: Harry Jeffery <harry@exec64.co.uk>
---
  Documentation/pretty-formats.txt | 6 ++++--
  pretty.c                         | 4 ++++
  2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/Documentation/pretty-formats.txt 
b/Documentation/pretty-formats.txt
index eac7909..2632e1a 100644
--- a/Documentation/pretty-formats.txt
+++ b/Documentation/pretty-formats.txt
@@ -128,6 +128,7 @@ The placeholders are:
  - '%ct': committer date, UNIX timestamp
  - '%ci': committer date, ISO 8601 format
  - '%d': ref names, like the --decorate option of linkgit:git-log[1]
+- '%D': ref names without the " (", ")" wrapping.
  - '%e': encoding
  - '%s': subject
  - '%f': sanitized subject line, suitable for a filename
@@ -182,8 +183,9 @@ The placeholders are:
  NOTE: Some placeholders may depend on other options given to the
  revision traversal engine. For example, the `%g*` reflog options will
  insert an empty string unless we are traversing reflog entries (e.g., by
-`git log -g`). The `%d` placeholder will use the "short" decoration
-format if `--decorate` was not already provided on the command line.
+`git log -g`). The `%d` and `%D` placeholders will use the "short"
+decoration format if `--decorate` was not already provided on the command
+line.

  If you add a `+` (plus sign) after '%' of a placeholder, a line-feed
  is inserted immediately before the expansion if and only if the
diff --git a/pretty.c b/pretty.c
index e4dc093..a75ad0d 100644
--- a/pretty.c
+++ b/pretty.c
@@ -1197,6 +1197,10 @@ static size_t format_commit_one(struct strbuf 
*sb, /* in UTF-8 */
  		load_ref_decorations(DECORATE_SHORT_REFS);
  		format_decorations(sb, commit, c->auto_color, " (", ", ", ")");
  		return 1;
+	case 'D':
+		load_ref_decorations(DECORATE_SHORT_REFS);
+		format_decorations(sb, commit, c->auto_color, "", ", ", "");
+		return 1;
  	case 'g':		/* reflog info */
  		switch(placeholder[1]) {
  		case 'd':	/* reflog selector */
-- 
2.1.0
Previous: Harry JefferyNext: Junio C Hamano
Message 2 of 6 in “log-tree: make format_decorations more flexible”
  1. 1/2 log-tree: make format_decorations more flexibleHarry Jeffery, Sep 10, 2014
  2. 2/2 pretty: add %D format specifierHarry Jeffery, Sep 10, 2014
  3. Junio C HamanoSep 11, 2014
  4. Harry JefferySep 11, 2014
  5. Junio C HamanoSep 11, 2014
  6. Junio C HamanoSep 11, 2014

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.