Hi Peff,
On Fri, 8 Mar 2019, Jeff King wrote:
> On Fri, Mar 08, 2019 at 04:38:44PM +0100, Johannes Schindelin wrote:
>
> > On Thu, 7 Mar 2019, Jeff King wrote:
> >
> > > 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.
I'd be fine with that... but...
> Do we want to do something like this:
>
> 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;
Since you already have that patch, why not go wild and apply it, too? ;-)
I guess you copy-edited the code from somewhere because you usually do
leave spaces around the `|`... I don't care, though ;-)
Ciao,
Dscho