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

Please explain avoiding history simplifications when diffing merges

From
MHMagnus Holmgren <magnus.holmgren@milientsoftware.com>
Date
Sep 8, 2023, 09:09 UTC
Message-ID
<3337579.YDm8p7mPUg@utklippan>
Hi (and thanks for a great free tool).

QGit was bitten by https://github.com/git/git/commit/0dec322d31db3920872f43bdd2a7ddd282a5be67

It looks like passing --simplify-merges to override the default solves the problem, but I still want to ask here because I'm not sure I fully understand the reasoning:

> the default history simplification would remove merge commits from 
> consideration if the file "path" matched the second parent.

I guess that means that even if there was a difference relative to the first parent, which you wanted to see, the merge commit would be omitted if there's no diff relative to the second parent? That's fine, and history simplification isn't trivial, but now every merge commit ever is included in the commit log of an individual file, even if that file was only added somewhere in the middle and never changed since. Is that really desirable? Shouldn't it be possible to include only merge commits that are not TREESAME to *all* parents?

Thanks,
-- 
Magnus Holmgren
./¯\_/¯\. Milient
(also holmgren@debian.org)
Next: Magnus Holmgren
Message 1 of 4 in “Please explain avoiding history simplifications when diffing merges”
  1. Magnus HolmgrenSep 8, 2023
  2. Magnus HolmgrenSep 15, 2023
  3. Bagas SanjayaSep 17, 2023
  4. Magnus HolmgrenSep 25, 2023

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.