Re: Please explain avoiding history simplifications when diffing merges
On Fri, Sep 15, 2023 at 05:10:28PM +0200, Magnus Holmgren wrote:
Show 19 quoted lines
> 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.
Can you provide examples?
Show 7 quoted lines
>
> 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.
What are you trying to accomplish with your proposed formatting verbs?
Confused...
--
An old man doll... just what I always wanted! - Clara