diff mbox series

[1/7] builtin/blame: Accept a user-specified format

Message ID 20250301214652.536439-2-aleks.todorov.1337@gmail.com (mailing list archive)
State New
Headers show
Series Add Format Specifier for Blame | expand

Commit Message

Aleks Todorov March 1, 2025, 9:45 p.m. UTC
Add a --format / -F option to `git-blame` which allows the user to
provide a string with placeholders which will be expanded to include
custom information in the blame output.

Signed-off-by: Aleks Todorov <aleks.todorov.1337@gmail.com>
---
 builtin/blame.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/builtin/blame.c b/builtin/blame.c
index c470654c7e..437ac8bd73 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -66,6 +66,7 @@  static int xdl_opts;
 static int abbrev = -1;
 static int no_whole_file_rename;
 static int show_progress;
+static char *format = NULL;
 static char repeated_meta_color[COLOR_MAXLEN];
 static int coloring_mode;
 static struct string_list ignore_revs_file_list = STRING_LIST_INIT_DUP;
@@ -905,6 +906,7 @@  int cmd_blame(int argc,
 		OPT_BIT('t', NULL, &output_option, N_("show raw timestamp (Default: off)"), OUTPUT_RAW_TIMESTAMP),
 		OPT_BIT('l', NULL, &output_option, N_("show long commit SHA1 (Default: off)"), OUTPUT_LONG_OBJECT_NAME),
 		OPT_BIT('s', NULL, &output_option, N_("suppress author name and timestamp (Default: off)"), OUTPUT_NO_AUTHOR),
+		OPT_STRING('F', "format", &format, N_("format"), N_("print blame entries in the given <format>")),
 		OPT_BIT('e', "show-email", &output_option, N_("show author email instead of name (Default: off)"), OUTPUT_SHOW_EMAIL),
 		OPT_BIT('w', NULL, &xdl_opts, N_("ignore whitespace differences"), XDF_IGNORE_WHITESPACE),
 		OPT_STRING_LIST(0, "ignore-rev", &ignore_rev_list, N_("rev"), N_("ignore <rev> when blaming")),