Subject: Re: [PATCH 0/4] diff --cc: relax path filtering

From: Jeff King <[email-masked]>
Date: Thu, 2 Apr 2015 17:13:10 -0400

On Thu, Apr 02, 2015 at 11:34:09PM +0300, Max Kirillov wrote:

> For diff --cc, paths fitering used to select only paths which have
> changed in all parents, while diffing itself output hunks which are
> changed in as few as 2 parents.

I'm confused about "used to" here. Is this a regression due to the
combine-diff rewriting that happened in 2.0, or do you just mean "before
this patch series, we used to do this other thing".

> Fix intersect_paths() to add paths which have at least 2 changed
> parents.

I'd worry a little that this is increasing the cost to do "log --cc", as
it means we will have to open and look at extra files, and we may find
in many cases that there aren't any interesting hunks. Which would imply
we might want to put it behind a flag, rather than as the default
("--cc-me-harder").

But if I'm understanding the issue correctly, this should only matter
for octopus merges.  That is, the old rule for looking at a path was "is
there at least one parent whose content we took verbatim", but the new
one is "are there are at least 2 parents whose content we did not take
verbatim". With only two parents, those would be the same thing, I
think.

-Peff