git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git mergetool, merge.tool, merge.guitool and DISPLAY
@ 2022-09-09 11:56 Tao Klerks
  2022-09-09 17:07 ` Junio C Hamano
  0 siblings, 1 reply; 5+ messages in thread
From: Tao Klerks @ 2022-09-09 11:56 UTC (permalink / raw)
  To: git

Hi folks,

I've just become aware today of what *seems* like a very strange
discrepancy or limitation in "git mergetool":

When you use it without having configured a "merge.tool", it
auto-selects the first available tool from a predefined list, which
appears to be hardcoded in "git-mergetool--lib.sh", with some
conditions around "$DISPLAY", "$GNOME_DESKTOP_SESSION_ID" and
"${VISUAL:-$EDITOR}".

In this "auto-selection" situation, no GUI-based merge tool will be
offered/selected if you're not in a GUI session.

When you configure your tools, you can configure "merge.tool" for the
default, and "merge.guitool" for GUI contexts - so far so good, sounds
consistent.

However, once you've configured these two settings, "git mergetool"
will never select the GUI tool you've configured unless you very
*explicitly* tell it to, by specifying the --gui argument. The
sensible auto-selection based on "DISPLAY" disappears.

The upshot, as I understand it, is that the only way to get a GUI when
I'm connected with an X session, and get a terminal-based mergetool
when I'm not, without having to be aware and issue different commands,
is to accept whatever tooling default order is hardcoded in
"git-mergetool--lib.sh"

Is this intentional / is there any logic here, or is this just
unfortunate, a result of the auto-selection evolving more
intelligently than the built-in explicit "--gui" selection, over
time??

If I wanted to improve this, what would be a more sensible approach?
* Assume "--gui" if there is a DISPLAY and "--no-gui" has not been
specified? (behavior change for some existing users)
* Add a new configuration to enable such an "auto-gui respecting
config" mode (no behavior change)

(I have not looked into "git difftool", but I assume the same
arguments and issues apply - if so an equivalent improvement would
need to be made there of course)

Thanks for any thoughts,
Tao

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-10-12 16:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-09 11:56 git mergetool, merge.tool, merge.guitool and DISPLAY Tao Klerks
2022-09-09 17:07 ` Junio C Hamano
2022-09-09 18:09   ` Tao Klerks
2022-09-09 18:48     ` Junio C Hamano
2022-10-12 16:03       ` Tao Klerks

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