On Tue, Nov 3, 2020 at 11:19 AM SZEDER Gábor <szeder.dev@xxxxxxxxx> wrote: > > On Mon, Nov 02, 2020 at 09:43:21AM -0500, Jeff King wrote: > > but I'm not clear on how "--follow" and "-L" are supposed to interact. > > They shouldn't, I would say. Though it would be great if their > rename-following logic would be unified. In particular, line-level > log does a better job at rename following in some ways, notably it can > track multiple files at once, while '--follow' can only handle a > single file. So I think the rename following logic should be > extracted from 'line-log.c' and made more generic, and it should be > used to implement '--follow', removing some restrictions of the > latter, not to mention removing the duplicated logic. > > (This might be a good GSoC project, though some of Linus' remarks in > 750f7b668f (Finally implement "git log --follow", 2007-06-19) like > "you did have to know and understand the internal git diff generation > machinery pretty well, and had to really be able to follow how commit > generation interacts with generating patches and generating the log" > and "this patch does seem to be firmly in the core "Linus or Junio" > territory" are worrying...) Thanks for the suggestion! For the Outreachy round starting next December, we have proposed a project to accelerate rename detection and range-diff based on: https://github.com/gitgitgadget/git/issues/519 I am not sure how much it is related to this though.