git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "D. Ben Knoble" <ben.knoble@gmail.com>
To: Johannes Sixt <j6t@kdbg.org>
Cc: Britton Kerin <britton.kerin@gmail.com>, git@vger.kernel.org
Subject: Re: easily use meld 3-pane view to review merge commits?
Date: Fri, 9 May 2025 11:52:47 -0400	[thread overview]
Message-ID: <CALnO6CDNPWWCWXvkpU0BUmaCzUfyZQhrtcxi1Nw_MBwVO6BKnQ@mail.gmail.com> (raw)
In-Reply-To: <50428492-8ece-426f-bfea-071b7bd2c374@kdbg.org>

On Sun, May 4, 2025 at 5:38 AM Johannes Sixt <j6t@kdbg.org> wrote:
> […]
> When merge conflicts are to be resolved, you have exactly 4 versions of
> a file to work with: base, ours, theirs, and the merge result. (Meld
> does not show the base and uses only 3 panes.) For this reason, it makes
> sense to have 3 panes in a merge tool, perhaps a forth for the merge
> base. That's it. You never need to have more than that.
>
> With a merge commit, you can have: the merge result, the first parent,
> and the second parent... and the third parent, the fourth parent, etc.
> You can have any number of versions to deal with.
>
> How does that fit into the picture? Can meld (or any other merge tool)
> have any number of panes and still work in a reasonable way? Why should
> 2-parent merge commits be special-cased?

Out of idle curiosity (with some Zsh shorthands):

for x (a b c d e); print -l 1 2 3 | shuf > $x'
vimdiff {a..e}

Turns out vimdiff can handle this and be reasonable, yep. Partly
because we can have arbitrarily many splits. It's still a bit
difficult to understand, though.

-- 
D. Ben Knoble

  reply	other threads:[~2025-05-09 15:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-03 21:55 easily use meld 3-pane view to review merge commits? Britton Kerin
2025-05-04  9:00 ` Johannes Sixt
2025-05-09 15:52   ` D. Ben Knoble [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-05-07 19:48 Britton Kerin

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=CALnO6CDNPWWCWXvkpU0BUmaCzUfyZQhrtcxi1Nw_MBwVO6BKnQ@mail.gmail.com \
    --to=ben.knoble@gmail.com \
    --cc=britton.kerin@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=j6t@kdbg.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).