All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: Alex Henrie <alexhenrie24@gmail.com>,
	Phillip Wood <phillip.wood123@gmail.com>
Cc: "Git mailing list" <git@vger.kernel.org>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Junio C Hamano" <gitster@pobox.com>,
	"Felipe Contreras" <felipe.contreras@gmail.com>,
	"Elijah Newren" <newren@gmail.com>
Subject: Re: [PATCH] pull: abort if --ff-only is given and fast-forwarding is impossible
Date: Mon, 12 Jul 2021 12:43:03 -0500	[thread overview]
Message-ID: <60ec7f276909f_a4525208c7@natae.notmuch> (raw)
In-Reply-To: <CAMMLpeQYwPDjc8WVFmwVismJPBYAifQS96+R8hDj+pch_db+Qg@mail.gmail.com>

Alex Henrie wrote:
> On Mon, Jul 12, 2021 at 4:21 AM Phillip Wood <phillip.wood123@gmail.com> wrote:
> >
> > On 11/07/2021 02:26, Alex Henrie wrote:
> > > The warning about pulling without specifying how to reconcile divergent
> > > branches says that after setting pull.rebase to true, --ff-only can
> > > still be passed on the command line to require a fast-forward. Make that
> > > actually work.
> >
> > Thanks for revising this patch, I like this approach much better. I do
> > however have some concerns about the interaction of pull.ff with the
> > rebase config and command line options. I'd naively expect the following
> > behavior (where rebase can fast-forward if possible)
> >
> >    pull.ff  pull.rebase  commandline  action
> >     only     not false                rebase
> >     only     not false   --no-rebase  fast-forward only
> >      *       not false    --ff-only   fast-forward only
> >     only     not false    --ff        merge --ff
> >     only     not false    --no-ff     merge --no-ff
> >     only       false                  fast-forward only
> >     only       false      --rebase    rebase
> >     only       false      --ff        merge --ff
> >     only       false      --no-ff     merge --no-ff
> >
> > I don't think enforcing fast-forward only for rebases makes sense unless
> > it is given on the command line. If the user gives `--rebase`
> > `--ff-only` on the command line then we should either error out or take
> > the last one in which case `pull --rebase --ff-only` would fast-forward
> > only but `pull --ff-only --rebase` would rebase. We should also decide
> > what to do when the user has pull.ff set to something other than only
> > and also has pull.rebase to something other than false set - I'd guess
> > we'd want to rebase unless there is a merge option on the command line
> > but I haven't thought about those cases.
> 
> I was thinking of --rebase and --ff-only as orthogonal variables.
> Nevertheless, we could make --rebase imply --ff, which would be pretty
> easy to explain in the documentation for the command-line options.
> That way, even though pull.rebase=true with pull.ff=only would enforce
> fast-forward-only, the user could easily override it with `git pull
> -r`. Would you accept that compromise?

What happens if the user has configured `pull.ff=no`?

-- 
Felipe Contreras

  reply	other threads:[~2021-07-12 17:43 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-11  1:26 [PATCH] pull: abort if --ff-only is given and fast-forwarding is impossible Alex Henrie
2021-07-11 17:08 ` Felipe Contreras
2021-07-11 20:00   ` Alex Henrie
2021-07-11 21:41     ` Felipe Contreras
2021-07-12 10:21 ` Phillip Wood
2021-07-12 16:04   ` Felipe Contreras
2021-07-12 16:29   ` Alex Henrie
2021-07-12 17:43     ` Felipe Contreras [this message]
2021-07-12 17:08   ` Junio C Hamano
2021-07-12 17:30     ` Felipe Contreras
2021-07-12 17:50     ` Elijah Newren
2021-07-12 18:20       ` Felipe Contreras
2021-07-12 18:20       ` Alex Henrie
2021-07-12 18:24         ` Alex Henrie
2021-07-12 19:55           ` Junio C Hamano
2021-07-12 20:19             ` Felipe Contreras
2021-07-12 20:51             ` Elijah Newren
2021-07-12 23:00               ` Junio C Hamano
2021-07-12 23:05                 ` Felipe Contreras
2021-07-12 23:24                 ` Elijah Newren
2021-07-12 20:37         ` Elijah Newren
2021-07-12 21:06           ` Felipe Contreras
2021-07-12 17:54     ` Phillip Wood
2021-07-14  8:37 ` Son Luong Ngoc
2021-07-14 15:14   ` Felipe Contreras
2021-07-14 15:22   ` Elijah Newren
2021-07-14 17:19     ` Junio C Hamano
2021-07-14 17:31     ` 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=60ec7f276909f_a4525208c7@natae.notmuch \
    --to=felipe.contreras@gmail.com \
    --cc=alexhenrie24@gmail.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=newren@gmail.com \
    --cc=phillip.wood123@gmail.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.