graph: add support for --line-prefix on all graph-aware output
Add an extension to git-diff and git-log (and any other graph-aware displayable output) such that "--line-prefix=<string>" will print the additional line-prefix on every line of output. To make this work, we have to fix a few bugs in the graph API that force graph_show_commit_msg to be used only when you have a valid graph. Additionally, we extend the default_diff_output_prefix handler to work even when no graph is enabled. This is somewhat of a hack on top of the graph API, but I think it should be acceptable here. This will be used by a future extension of submodule display which displays the submodule diff as the actual diff between the pre and post commit in the submodule project. Add some tests for both git-log and git-diff to ensure that the prefix is honored correctly. Signed-off-by: Jacob Keller <jacob.keller@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
cd48dadb8d
commit
660e113ce1
7
diff.c
7
diff.c
@ -18,6 +18,7 @@
|
||||
#include "ll-merge.h"
|
||||
#include "string-list.h"
|
||||
#include "argv-array.h"
|
||||
#include "graph.h"
|
||||
|
||||
#ifdef NO_FAST_WORKING_DIRECTORY
|
||||
#define FAST_WORKING_DIRECTORY 0
|
||||
@ -3966,6 +3967,12 @@ int diff_opt_parse(struct diff_options *options,
|
||||
options->a_prefix = optarg;
|
||||
return argcount;
|
||||
}
|
||||
else if ((argcount = parse_long_opt("line-prefix", av, &optarg))) {
|
||||
options->line_prefix = optarg;
|
||||
options->line_prefix_length = strlen(options->line_prefix);
|
||||
graph_setup_line_prefix(options);
|
||||
return argcount;
|
||||
}
|
||||
else if ((argcount = parse_long_opt("dst-prefix", av, &optarg))) {
|
||||
options->b_prefix = optarg;
|
||||
return argcount;
|
||||
|
||||
Reference in New Issue
Block a user