Subject: Re: [PATCH] add -p: obey diff.noprefix option if set

From: Jeff King <[email-masked]>
Date: Mon, 6 Mar 2023 05:31:02 -0500

On Mon, Mar 06, 2023 at 09:39:07AM +0000, Phillip Wood wrote:

> > The second is to just remember that we set noprefix and to add the
> > matching "-p0". Unfortunately we have to do so in a few places, but it's
> > not _too_ bad (and possibly some refactoring could make it less ugly).
> > Something like:
> 
> I think that is the better approach. Looking at how we handle diff.algorithm
> we should maybe add a "noprefix" member to "struct add_i_state" and
> initialize it in init_add_i_state() (which is in add-interactive.c). That
> way we're consistent with the existing code and we don't need to keep
> calling git_config_get_bool() whenever we want the value of diff.noPrefix.

Yeah, that was exactly the kind of refactoring I had in mind (but I
didn't work on it, even as a "maybe something like this" patch).

I agree it's the better approach.

> >   	strvec_pushv(&cp.args, s->mode->apply_check_args);
> > +	if (!git_config_get_bool("diff.noprefix", &noprefix) && noprefix)
> > +		strvec_pushf(&cp.args, "-p1");
> 
> I think you meant "-p0" here

Whoops, yes.

-Peff