Thread (1 message) 1 message, 1 author, 2019-03-11

Re: [PATCH v2] line-log: suppress diff output with "-s"

From: Junio C Hamano <hidden>
Date: 2019-03-11 01:49:58

Jeff King [off-list ref] writes:
On Fri, Mar 08, 2019 at 04:38:44PM +0100, Johannes Schindelin wrote:
quoted
On Thu, 7 Mar 2019, Jeff King wrote:
quoted
When "-L" is in use, we ignore any diff output format that the user
provides to us, and just always print a patch (with extra context lines
covering the whole area of interest). It's not entirely clear what we
should do with all formats (e.g., should "--stat" show just the diffstat
of the touched lines, or the stat for the whole file?).

But "-s" is pretty clear: the user probably wants to see just the
commits that touched those lines, without any diff at all. Let's at
least make that work.
Agree. The patch looks obviously good.
Thanks. This leaves the other formats as silently ignored. Do we want to
do something like this:
It probably would make sense to do this if only to avoid surprises.
quoted hunk
diff --git a/revision.c b/revision.c
index eb8e51bc63..a1b4fe2aa6 100644
--- a/revision.c
+++ b/revision.c
@@ -2689,6 +2689,10 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
 	if (revs->first_parent_only && revs->bisect)
 		die(_("--first-parent is incompatible with --bisect"));
 
+	if (revs->line_level_traverse &&
+	    (revs->diffopt.output_format & ~(DIFF_FORMAT_PATCH|DIFF_FORMAT_NO_OUTPUT)))
+		die(_("-L does not yet support diff formats besides -p and -s"));
+
 	if (revs->expand_tabs_in_log < 0)
 		revs->expand_tabs_in_log = revs->expand_tabs_in_log_default;
 
?

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help