git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: pull.rebase config option broken in 2.33.1

From
Elijah Newren <newren@gmail.com>
Date
Nov 26, 2021, 22:43 UTC
Message-ID
<CABPp-BGC5DrArqWMiwwpJQgK8WucVcAxj0Ptgpi+_KRb7V7Nwg@mail.gmail.com>
In-Reply-To
<YaFViM1tTTAc48ZG@coredump.intra.peff.net>
On Fri, Nov 26, 2021 at 1:45 PM Jeff King <peff@peff.net> wrote:
Show 9 quoted lines
>
> On Fri, Nov 26, 2021 at 04:44:52PM -0500, Jeff King wrote:
>
> > +cc Alex and Elijah from the original 3d5fc24dae (pull: abort if
> > --ff-only is given and fast-forwarding is impossible, 2021-07-21) in
> > case they have further thoughts, but I _think_ this is working as
> > designed.
>
> Whoops, forgot the cc. Original message in full below.

I believe this was already fixed in 2.34.1 in commit ea1954af77 ("pull: should be noop when already-up-to-date", 2021-11-17).

Show 83 quoted lines
> > On Fri, Nov 26, 2021 at 09:05:46PM +0300, Dmitry Marakasov wrote:
> >
> > > * Jeff King (peff@peff.net) wrote:
> > >
> > > > > After update from 2.33.0 to 2.33.1 the pull.rebase = true option
> > > > > no longer works: `git pull` no longer tries to rebase (however manual
> > > > > `git pull --rebase` works fine):
> > > > >
> > > > > % git config pull.rebase
> > > > > true
> > > > > % git pull
> > > > > fatal: Not possible to fast-forward, aborting.
> > > > > % git pull --rebase
> > > > > Successfully rebased and updated refs/heads/local-fixes.
> > > > > % git pull
> > > > > fatal: Not possible to fast-forward, aborting.
> > > > > % grep -C1 rebase .git/config
> > > > > [pull]
> > > > >         rebase = true
> > > > > [rebase]
> > > > >         autostash = true
> > > > >
> > > > > After downgrade to 2.33.0:
> > > > >
> > > > > % git pull
> > > > > Current branch local-fixes is up to date.
> > > >
> > > > This looks like the same bug discussed in:
> > > >
> > > >   https://lore.kernel.org/git/CH2PR06MB650424B4205102AC6A48F489B1BD9@CH2PR06MB6504.namprd06.prod.outlook.com/
> > > >
> > > > There's a fix in that thread. It's currently in "next", but didn't quite
> > > > make the cutoff for the upcoming v2.34.0.
> > >
> > > For the record, the problem is still present in 2.34.1
> >
> > In the bug I linked (and what got fixed in 2.34.1), the issue is that
> > when the local branch is ahead of the remote, we don't say "up to date",
> > but complain about fast-forwards.
> >
> > It's hard to tell from the output above, but it looks like you have a
> > case where there are new commits both locally and on the remote? In
> > which case a rebase would work just fine.
> >
> > But why are we complaining about "not possible to fast-forward"? Testing
> > locally with something like:
> >
> > -- >8 --
> > git init repo
> > cd repo
> >
> > commit() {
> >       echo $1 >$1
> >       git add $1
> >       git commit -m $1
> > }
> >
> > git checkout -b local
> > commit base
> > commit local
> >
> > git checkout -b remote HEAD^
> > commit remote
> >
> > git checkout local
> > git config pull.rebase true
> > git pull . remote
> > -- >8 --
> >
> > shows that we do rebase. If I set:
> >
> >   git config pull.ff only
> >
> > then we start complaining. And that behavior did change in 2.33.1, but
> > I'm not sure it's wrong. We have two conflicting config options, and the
> > precedence for which one we pick switched.
> >
> > Do you have that option set in your config? Try:
> >
> >   git config --show-origin --show-scope --get-regexp 'pull\..*'
> >
> >
> > -Peff
Previous: Jeff KingNext: Jeff King
Message 6 of 11 in “pull.rebase config option broken in 2.33.1”
  1. Dmitry MarakasovNov 2, 2021
  2. Jeff KingNov 2, 2021
  3. Dmitry MarakasovNov 26, 2021
  4. Jeff KingNov 26, 2021
  5. Jeff KingNov 26, 2021
  6. Elijah NewrenNov 26, 2021
  7. Jeff KingNov 27, 2021
  8. Elijah NewrenNov 27, 2021
  9. Dmitry MarakasovDec 2, 2021
  10. Elijah NewrenDec 2, 2021
  11. Elijah NewrenNov 27, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.