git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Max Kirillov <max@max630.net>
Date
Apr 3, 2015, 16:29 UTC
Message-ID
<20150403162945.GE8771@wheezy.local>
In-Reply-To
<20150402211310.GA22988@peff.net>
On Thu, Apr 02, 2015 at 05:13:10PM -0400, Jeff King wrote:
Show 9 quoted lines
> 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".

As far as I can see it was "always", at least since 1.8.0; the test script did not work before that.

Show 15 quoted lines
>> 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
Previous: Jeff KingNext: Max Kirillov
Message 10 of 25 in “diff --cc: relax path filtering”
  1. 0/4 diff --cc: relax path filteringMax Kirillov, Apr 2, 2015
  2. 1/4 Add test for showing discarded changes with diff --ccMax Kirillov, Apr 2, 2015
  3. Junio C HamanoApr 2, 2015
  4. Max KirillovApr 3, 2015
  5. 2/4 combine-diff.c: refactor: extract insert_path()Max Kirillov, Apr 2, 2015
  6. 3/4 diff --cc: relax too strict paths pickingMax Kirillov, Apr 2, 2015
  7. Junio C HamanoApr 2, 2015
  8. 4/4 t4059: rewrite to be adaptive to hunk filteringMax Kirillov, Apr 2, 2015
  9. Jeff KingApr 2, 2015
  10. Max KirillovApr 3, 2015
  11. 0/4 diff --cc: relax path filteringMax Kirillov, Apr 3, 2015
  12. 1/4 t4059: test 'diff --cc' with a change from only few parentsMax Kirillov, Apr 3, 2015
  13. Junio C HamanoApr 11, 2015
  14. Junio C HamanoApr 11, 2015
  15. Junio C HamanoApr 11, 2015
  16. Max KirillovApr 12, 2015
  17. Junio C HamanoApr 12, 2015
  18. Max KirillovApr 14, 2015
  19. combine-diff.c: make intersect_paths() behave like hunk filteringMax Kirillov, Apr 14, 2015
  20. 2/4 combine-diff.c: refactor: extract insert_path()Max Kirillov, Apr 3, 2015
  21. Junio C HamanoApr 11, 2015
  22. 3/4 diff --cc: relax too strict paths pickingMax Kirillov, Apr 3, 2015
  23. 4/4 t4059: rewrite to be adaptive to hunk filteringMax Kirillov, Apr 3, 2015
  24. Junio C HamanoApr 12, 2015
  25. Max KirillovApr 14, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.