Re: Please explain avoiding history simplifications when diffing merges

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Friday, 8 September 2023 11:09:20 CEST, I wrote
> QGit was bitten by
> https://github.com/git/git/commit/0dec322d31db3920872f43bdd2a7ddd282a5be67

Maybe I should link to the QGit issue:
https://github.com/tibirna/qgit/issues/129

> 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.

As I wrote at the above URL, I realized that the old git log output without --
simplify-merges and the output with --simplify-merges aren't quite the same. 
The old output indeed omits some interesting merge commits, which may explain 
why the change was made, but git log --simplify-merges does include them, so 
it seems a reasonable default to me.

However, QGit has a problem: git log --diff-merges=separate includes a 
separate diff for each parent, but only for each parent with differences 
compared to the merge commit, *and* there's no custom format placeholder for 
the current parent, only for the list of parents (%P/%p). How should one go 
about adding that? I figure the format_commit_context struct in pretty.c needs 
another field.

-- 
Magnus Holmgren
./¯\_/¯\. Milient







[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux