All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Seth House <seth@eseth.com>
Cc: Felipe Contreras <felipe.contreras@gmail.com>,
	Johannes Sixt <j6t@kdbg.org>,
	git@vger.kernel.org, David Aguilar <davvid@gmail.com>
Subject: Re: [RFC/PATCH] mergetool: use resolved conflicts in all the views
Date: Fri, 18 Dec 2020 02:04:23 -0800	[thread overview]
Message-ID: <xmqq3603v3a0.fsf@gitster.c.googlers.com> (raw)
In-Reply-To: 20201218054947.GA123376@ellen

Seth House <seth@eseth.com> writes:

> On Thu, Dec 17, 2020 at 08:49:13PM -0600, Felipe Contreras wrote:
>> And no person is the sole arbiter of truth, in this list, or anywhere.
>> People have managed to change Junio's mind.
>
> I'm not worried about Junio but I am wondering if anyone has managed to
> change your mind. You and I have been going back and forth on this list
> and on Reddit for two solid days and, to be frank, I'm running out of
> steam.
> ...
> I, as a user of diffconflicts, may want to both disable this flag for
> diffconflicts but enable this flag for VS Code and kdiff3. It is not
> unusual for people to use more than one mergetool. Some of them are
> better or worse at visualizing different kinds of conflicts. Sometimes
> a conflict is small and straightforward; othertimes a conflict is
> complicated and requires deep knowledge of the history of both branches.
> If we force this to be a global flag only then users will not be able to
> make different choices for different tools.
>
> Someone who does use multiple mergetools but only uses tools from group
> one may appreciate a single global flag so s/he doesn't need to set it
> for each tool.
> ... there's every possibility that a user will prefer it a different
> way or that a mergetool author will. And there's every possibility that
> there will be differing opinions between users and authors like there is
> between you and me. But that's ok! Because it's just a configuration
> option.

Well explained.  I do not think I need to add much.

It makes sense to at least allow people to enable/disable the
behaviour independently for different tools.  When unconfigured, I
would say we should enable the feature by default to give it wider
exposure.

Because what I care is not about the set of tools we happen to have
right now, but is about leaving users access to an escape hatch in
case things go wrong.  If it turns out that all the tools we happen
to have do not seem to break with this new option with just a few
days' survey, it does not mean we do not need a per-tool escape
hatch they can use until the next release either fixes the feature
or makes it disabled by default, when there is unexpected breakages
discovered later.  The time between a release and the next is a long
time that the users cannot keep the tool they have learned to rely
on broken.  And that's a conservative maintainer's view.

When a tool that never wants its input munged appears, we might
further want to have the mechanism to give different default per
each tool for users who have no configuration, so that such a tool
can be disabled while other tools are enabled by default while
allowing users to choose.  But such a code to set different
enabled/disabled default per tool (the one I outlined in the
footnote of the other message) won't be exercised in practice with
the set of tools we have (hence a bug in such a code would go
unnoticed for a long time), so I tend to think we might be better
off to wait until the need arises before implementing per-tool
fallback default for users who do not configure at all.

Another reason why allowing users to disable the feature per tool is
important is because as far as I know we have kept the mergetool
framework to allow adding a tool that can merge binary data, and
leaving these three files pristine was one ingredient for that.
With only a single knob, we would be making a decision to declare
that such a tool is unwelcome, which is not quite acceptable.  I
expect that users would want the new feature most of the time
because they would be managing text files more of the time, and
having only a single knob would force an unnecessary choice on those
who want to use such a binary-capable tool as well.

  parent reply	other threads:[~2020-12-18 10:05 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-16 17:43 [RFC/PATCH] mergetool: use resolved conflicts in all the views Felipe Contreras
2020-12-16 22:24 ` Junio C Hamano
2020-12-16 22:53   ` Seth House
2020-12-17  5:18     ` Junio C Hamano
2020-12-17  5:41     ` Felipe Contreras
2020-12-17  7:35       ` Johannes Sixt
2020-12-17  8:27         ` Felipe Contreras
2020-12-17 19:23           ` Johannes Sixt
2020-12-18  2:30             ` Felipe Contreras
2020-12-17  9:44         ` Seth House
2020-12-17 10:35           ` Felipe Contreras
2020-12-17 17:50             ` Seth House
2020-12-17 19:28               ` Junio C Hamano
2020-12-18  2:34                 ` Felipe Contreras
     [not found]                   ` <CANiSa6jMXTyfo43bUdC8601BvYKiF67HXo+QaiTh_-8KWyBsLg@mail.gmail.com>
2020-12-21  0:31                     ` Felipe Contreras
2020-12-18  2:05               ` Felipe Contreras
2020-12-18  2:35                 ` Seth House
2020-12-18  2:49                   ` Felipe Contreras
2020-12-18  5:49                     ` Seth House
2020-12-18  9:46                       ` Felipe Contreras
2020-12-19  0:13                         ` Seth House
2020-12-19  0:53                           ` Felipe Contreras
2020-12-19 11:14                           ` Junio C Hamano
2020-12-19 12:08                             ` Felipe Contreras
2020-12-19 18:26                               ` Junio C Hamano
2020-12-19 20:18                                 ` Felipe Contreras
2020-12-21  4:25                             ` Seth House
2020-12-21  5:34                               ` Felipe Contreras
2020-12-21  7:36                                 ` Seth House
2020-12-21 11:17                                   ` Felipe Contreras
2020-12-21 22:15                                   ` David Aguilar
2020-12-21 23:51                                     ` Code of conduct violation? Felipe Contreras
2020-12-22  7:13                                       ` Junio C Hamano
2020-12-22  9:58                                         ` Felipe Contreras
2020-12-22 15:01                                       ` Pratyush Yadav
2020-12-23  4:23                                         ` Felipe Contreras
2020-12-23  5:02                                           ` Junio C Hamano
2020-12-23  5:41                                             ` Felipe Contreras
2020-12-23 15:04                                               ` Nobody is THE one making contribution Junio C Hamano
2020-12-23 15:51                                                 ` Felipe Contreras
2020-12-23 20:56                                                   ` Junio C Hamano
2020-12-24  1:09                                                     ` Felipe Contreras
2020-12-24  2:01                                                   ` Ævar Arnfjörð Bjarmason
2020-12-24  5:19                                                     ` Felipe Contreras
2020-12-24 12:30                                                       ` Ævar Arnfjörð Bjarmason
2020-12-24 15:26                                                         ` Felipe Contreras
2020-12-24 22:57                                                           ` Junio C Hamano
2020-12-27 17:29                                                             ` Felipe Contreras
2020-12-27 18:30                                                               ` Junio C Hamano
2020-12-27 18:47                                                                 ` Felipe Contreras
2020-12-28 10:39                                                                   ` Junio C Hamano
2020-12-28 14:27                                                                     ` Felipe Contreras
2020-12-24 15:09                                                       ` Randall S. Becker
2020-12-24 15:37                                                         ` Felipe Contreras
2020-12-24 22:40                                                           ` Junio C Hamano
2020-12-24 21:00                                       ` Code of conduct violation? David Aguilar
2020-12-24 22:32                                         ` Felipe Contreras
2020-12-18 10:04                       ` Junio C Hamano [this message]
2020-12-18 11:58                         ` [RFC/PATCH] mergetool: use resolved conflicts in all the views Felipe Contreras
2020-12-19 18:52                           ` Junio C Hamano
2020-12-19 20:59                             ` Felipe Contreras
2020-12-20  6:44                               ` David Aguilar
2020-12-20  7:53                                 ` Felipe Contreras
2020-12-20 22:22                                   ` David Aguilar
2020-12-21  1:46                                     ` Felipe Contreras
2020-12-19  0:18                         ` Seth House
2020-12-16 23:41   ` Felipe Contreras
2020-12-17  5:19     ` Junio C Hamano
2020-12-17  5:43       ` Felipe Contreras
2020-12-17  2:35 ` [RFC/PATCH v2] " Felipe Contreras

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=xmqq3603v3a0.fsf@gitster.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=davvid@gmail.com \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=j6t@kdbg.org \
    --cc=seth@eseth.com \
    /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.