git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: Alex Henrie <alexhenrie24@gmail.com>,
	Felipe Contreras <felipe.contreras@gmail.com>
Cc: "Git mailing list" <git@vger.kernel.org>,
	"Vít Ondruch" <vondruch@redhat.com>,
	"Jacob Keller" <jacob.keller@gmail.com>,
	"Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
	"Elijah Newren" <newren@gmail.com>
Subject: Re: [PATCH 2/2] pull: improve default warning
Date: Mon, 21 Jun 2021 23:26:31 -0500	[thread overview]
Message-ID: <60d1667797fb1_1a4aad20825@natae.notmuch> (raw)
In-Reply-To: <CAMMLpeRa3atkZxEtV--YD6-JSf0Bp9xRw9kS5wSWerxpsGrvrw@mail.gmail.com>

Alex Henrie wrote:
> On Mon, Jun 21, 2021 at 4:12 PM Felipe Contreras
> <felipe.contreras@gmail.com> wrote:
> >
> > Alex Henrie wrote:

> > > Although what needs to be done had been envisioned by some as early as
> > > 2013, the warning has only been around since Git 2.27 (released in
> > > June 2020), and it was only restricted to pulls where fast-forwarding
> > > is impossible in Git 2.31 (released in March 2021). The good news is
> > > that (unless I'm mistaken) there are no more changes that need to be
> > > made prior to changing the message from from "advise" to "die".
> >
> > There is *a lot* that needs to be done.
> >
> >  1. Update the documentation
> >  2. Add a --merge option (instead of the ackward --no-rebase)
> >  3. Fix all the wrong behavior with --ff, --no-ff, and -ff-only
> >  4. Add a pull.mode configuration
> >  5. Add a configuration for the mode in which we want to die
> >  6. Fix inconsistencies in the UI
> 
> I agree with you that the documentation should be updated when the
> change is made (#1),

I'm saying the documentation needs to be updated _before_ the change is
made. There's no reason not to have the fast-forward example in the
documentation.

> and maybe there should be a config option to go back to the behavior
> of warning but doing the merge anyway (#5).

Before that we need a configuration to turn the behavior on.

> The rest I think are things that would be nice to have but don't
> preclude making the switch because aborting instead of merging would
> not introduce any new UI limitations or inconsistencies.

They don't preclude the switch, but the switch should be precluded by a
warning, and the warning would be something like:

  The pull was not fast-forward, in the future you will have to choose a
  merge, or a rebase.

  To quell this message you have two main options:

  1. Adopt the new behavior:

    git config --global pull.mode ff-only

  2. Maintain the current behavior:

    git config --global pull.mode merge

  For now we will fall back to the traditional behavior (merge).

  Read "git pull --help" for more information.

Without having the changes I listed this warning can't be as useful.

> Of course, it's ultimately up to Junio and the wider Git community,
> and I would love to hear their thoughts about it.

I would not hold my breath.

> > In the meantime there's no reason to have subpar documentation.
> 
> My only serious objection to this patch is the instruction to merge if
> you don't know what to do instead of asking the repository maintainer
> what to do or reading the Git documentation. I don't have a strong
> opinion on the rest of the patch.

I would be fine if the patch is merged without that line, but I believe
the patch is better with that line.

The line doesn't say "do this this if you don't know what to do", it
says if you are *unsure*. That is not the same thing.

And the user *already* did a merge, as that's what 'git pull' does by
default. The advice throws a warning, but proceeds with the merge.

The only thing the line is telling the user is how to muffle the message
if she is unsure of the previous muffling options.

Would you be happier with this?

  The simplest way to maintain the current behavior is to just do
  "git pull --no-rebase".

Cheers.

-- 
Felipe Contreras

  reply	other threads:[~2021-06-22  4:26 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-21 17:52 [PATCH 0/2] pull: documentation improvements Felipe Contreras
2021-06-21 17:52 ` [PATCH 1/2] doc: pull: explain what is a fast-forward Felipe Contreras
2021-06-22  5:51   ` Bagas Sanjaya
2021-06-23  1:11     ` Felipe Contreras
2021-06-24 14:21   ` Philip Oakley
2021-06-24 14:31     ` Felipe Contreras
2021-06-24 16:59       ` Philip Oakley
2021-06-24 19:05         ` Felipe Contreras
2021-06-24 22:07           ` Philip Oakley
2021-06-24 23:41             ` Felipe Contreras
2021-06-25  9:12               ` Ævar Arnfjörð Bjarmason
2021-06-25 10:47                 ` Felipe Contreras
2021-06-25 10:59                   ` Ævar Arnfjörð Bjarmason
2021-06-25 15:49                     ` Felipe Contreras
2021-06-25 16:53                     ` Kerry, Richard
2021-06-25 17:34                       ` Felipe Contreras
2021-06-25 21:36                         ` Felipe Contreras
2021-06-21 17:52 ` [PATCH 2/2] pull: improve default warning Felipe Contreras
2021-06-21 18:05   ` Alex Henrie
2021-06-21 18:51     ` Felipe Contreras
2021-06-21 21:47       ` Alex Henrie
2021-06-21 22:12         ` Felipe Contreras
2021-06-22  3:15           ` Alex Henrie
2021-06-22  4:26             ` Felipe Contreras [this message]
2021-06-22 15:06             ` Elijah Newren
2021-06-22 21:22               ` Alex Henrie
2021-06-23  2:20                 ` Elijah Newren
2021-06-23  4:18                   ` Felipe Contreras
2021-06-23  6:47                     ` Elijah Newren
2021-06-23 17:24                       ` Felipe Contreras
2021-06-23  1:09               ` Felipe Contreras
2021-06-23  7:54                 ` Elijah Newren
2021-06-23 18:19                   ` Felipe Contreras
2021-06-24  3:38                     ` Alex Henrie
2021-06-24  5:55                       ` Felipe Contreras
2021-06-27  0:17                         ` Alex Henrie
2021-06-27  4:21                           ` Felipe Contreras
2021-06-23  0:48 ` [PATCH v2 0/2] pull: documentation improvements Felipe Contreras
2021-06-23  0:48   ` [PATCH v2 1/2] doc: pull: explain what is a fast-forward Felipe Contreras
2021-06-23  0:48   ` [PATCH v2 2/2] pull: improve default warning 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=60d1667797fb1_1a4aad20825@natae.notmuch \
    --to=felipe.contreras@gmail.com \
    --cc=alexhenrie24@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jacob.keller@gmail.com \
    --cc=newren@gmail.com \
    --cc=peff@peff.net \
    --cc=vondruch@redhat.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 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).