All of lore.kernel.org
 help / color / mirror / Atom feed
From: Magnus Holmgren <magnus.holmgren@milientsoftware.com>
To: git@vger.kernel.org
Subject: Re: Please explain avoiding history simplifications when diffing merges
Date: Fri, 15 Sep 2023 17:10:28 +0200	[thread overview]
Message-ID: <2250343.okVFLFBGsW@utklippan> (raw)
In-Reply-To: <3337579.YDm8p7mPUg@utklippan>

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




  reply	other threads:[~2023-09-15 15:11 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-08  9:09 Please explain avoiding history simplifications when diffing merges Magnus Holmgren
2023-09-15 15:10 ` Magnus Holmgren [this message]
2023-09-17  9:58   ` Bagas Sanjaya
2023-09-25 16:11     ` Magnus Holmgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2250343.okVFLFBGsW@utklippan \
    --to=magnus.holmgren@milientsoftware.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.