Subject: Re: [PATCH 1/2] support for --no-relative and diff.relative

From: Junio C Hamano <[email-masked]>
Date: Wed, 07 Jan 2015 12:26:41 -0800

[email-masked] writes:

>>> Content-Type: text/plain; charset=utf-8; format=flowed
>>Please.  No format=flawed.  Really.
> I'll figure out the line-wrapping.
>
>> Also this step is not about --no-relative and diff.relative but is
>> only about --no-relative option.
> Should I submit as two independent patches then? I took the approach
> of splitting them out into 1/2 vs 2/2 to distinguish, but it sounds
> like that isn't optimal.

They are indeed better to be 1/2 and 2/2; they do not have to share
the same subject, though.  1/2 now adds only --no-relative and makes
sure an earlier --relative is cancelled without even knowing that
diff.relative might appear in the future (well, you may know that,
but the system with only 1/2 applied without 2/2 would work perfectly
fine).  2/2 adds diff.relative and makes sure --no-relative cancels
its effect as well.

> On review, this may be a bad approach though. Non-locality makes it
> harder to follow/understand and introduces a subtle bug.
> current:  "git-diff --relative=path --no-relative --relative" ==
> "git-diff --relative=path"
> expected: "git-diff --relative=path --no-relative --relative" ==
> "git-diff --relative"

Exactly.