Thread (12 messages) 12 messages, 2 authors, 2016-06-15

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

From: Max Kirillov <hidden>
Date: 2016-06-15 23:04:21

On Thu, Apr 02, 2015 at 05:13:10PM -0400, Jeff King wrote:
On Thu, Apr 02, 2015 at 11:34:09PM +0300, Max Kirillov wrote:
quoted
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".
As far as I can see it was "always", at least since 1.8.0;
the test script did not work before that.
quoted
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.
Yes, I hope so. I tried to reproduce benchamrk which is in 8518ff8fabc
(git log --raw --no-abbrev --no-renames (-c|--cc) v3.10..v3.11),
and saw no difference. But my times was about 3 seconds, not
20 as there, andI cannot say my computer is very fast, so
probably I've done something wrong.

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