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

Re: git pull bug report

From
Erwin Villejo <erwinvillejo@gmail.com>
Date
Nov 15, 2021, 18:22 UTC
Message-ID
<CADL96rt-UiPkezYBWwFk--Fy0ekUYy7DzUfhpSXwo6E+2VNbBw@mail.gmail.com>
In-Reply-To
<CAGyf7-GjoU7VqN3bhRcoQ1xJM==h2aNm9fm_5HxDJk_hgGop1Q@mail.gmail.com>
Sure, if you insist:
```
 I  ~/c/database-sandbox main ↑1 ❱ git fetch
 I  ~/c/database-sandbox main ↑1 3.3s ❱ git log --graph --oneline
--decorate main github/main -n 3
* b73d3e1 (HEAD -> main) init activity api
* d370bf2 (github/main) refactor partitioning migration
* 5124511 wip pg
 I  ~/c/database-sandbox main ↑1 ❱ git status
On branch main
Your branch is ahead of 'github/main' by 1 commit.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean
 I  ~/c/database-sandbox main ↑1 ❱
```
I did some more investigation:
```
 I  ~/c/database-sandbox main ↑1 ❱ git pull --ff-only
fatal: Not possible to fast-forward, aborting.
 I  ~/c/database-sandbox main ↑1 3.4s [128] git pull --ff
Already up to date.
 I  ~/c/database-sandbox main ↑1 3.3s ❱ git pull
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint:   git config pull.rebase false  # merge (the default strategy)
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.
 I  ~/c/database-sandbox main ↑1 3.3s [128]
```
As you can see above:
- `pull --ff-only` aborts with "Not possible to fast-forward" error
- `pull --ff` succeeds with "Already up to date."
- `pull` only (unspecified `--ff`) aborts with "divergent branches"

The --ff-only case was recently fixed by https://github.com/git/git/commit/361cb52383fb986f76a34506bdec9a1dd11133f0

The unspecified `--ff` is the bug that I encounter and I have started a fix here: https://github.com/git/git/compare/master...erwinv:master

Best regards, Erwin

On Tue, Nov 16, 2021 at 1:15 AM Bryan Turner <bturner@atlassian.com> wrote:
Show 91 quoted lines
>
> On Mon, Nov 15, 2021 at 1:40 AM Erwin Villejo <erwinvillejo@gmail.com> wrote:
> >
> > $ git log main github/main --graph --decorate -n 3
> > * commit b73d3e132f9638afbf5b98b0c278ed6b93a3ae50 (HEAD -> main)
> > | Author: Erwin Villejo <erwin.villejo@gmail.com>
> > | Date:   Mon Nov 15 15:22:53 2021 +0700
> > |
> > |     init activity api
> > |
> > * commit d370bf256a756a777c14609c8ad4184aa7e9e60f (github/main)
> > | Author: Erwin Villejo <erwin.villejo@gmail.com>
> > | Date:   Sat Nov 13 19:18:45 2021 +0700
> > |
> > |     refactor partitioning migration
> > |
> > * commit 5124511d287f1a6c384ff9766fdcc0e3e07043e8
> > | Author: Erwin Villejo <erwin.villejo@gmail.com>
> > | Date:   Mon Nov 8 17:24:19 2021 +0700
> > |
> > |     wip pg
> >
> > $ git remote -v
> > github    git@github.com:erwinv/database-sandbox.git (fetch)
> > github    git@github.com:erwinv/database-sandbox.git (push)
> >
> > Link to the [upstream branch on
> > GitHub](https://github.com/erwinv/database-sandbox/commits/main) so
> > you could see for yourself that my local is ahead of upstream and that
> > the upstream has no commits ahead of local.
>
> Certainly looks "ahead". There _has_ been at least one confirmed bug
> in 2.33 related to how "ahead" is handled[1], but it doesn't seem like
> it's related to what you're seeing here. The "git pull" output
> suggests you don't have "pull.ff=only" set.
>
> Are you able to pull down either Git 2.32 or the just-released Git
> 2.34 and try one of those?
> My suggestion to try "git fetch" could still also be useful, to see if
> your "git status" output changes.
>
> [1] https://lore.kernel.org/git/CH2PR06MB650424B4205102AC6A48F489B1BD9@CH2PR06MB6504.namprd06.prod.outlook.com/
>
> >
> > Best regards,
> > Erwin
> >
> >
> > On Mon, Nov 15, 2021 at 4:19 PM Erwin Villejo <erwinvillejo@gmail.com> wrote:
> > >
> > > > the remote mainline have three commits ahead
> > > Where did you get this info? This is not true in my case.
> > >
> > > * local is ahead of upstream. confirmed by `git status`:
> > >
> > > ```
> > > $ git status
> > > On branch main
> > > Your branch is ahead of 'github/main' by 1 commit.
> > >   (use "git push" to publish your local commits)
> > > ```
> > >
> > > If remote was ahead, `git status` would say so. And this is my
> > > personal repo in GitHub with only me as the sole developer/contributor
> > > so I can assure you that the upstream has no commits ahead of my
> > > local.
> > >
> > > Best regards,
> > > Erwin
> > >
> > > On Mon, Nov 15, 2021 at 4:12 PM Bagas Sanjaya <bagasdotme@gmail.com> wrote:
> > > >
> > > > On 15/11/21 15.56, Erwin Villejo wrote:
> > > > > There is nothing to reconcile since the branches have not diverged:
> > > > > local is ahead of upstream. So I think it is a bug, no?
> > > >
> > > > You have the situation like:
> > > >
> > > > ---o---a (your mainline)
> > > >     \
> > > >      b---c---d (remote mainline)
> > > >
> > > > Your mainline only have one commit ahead of base point `o`, while the remote
> > > > mainline have three commits ahead of `o` but unrelated. In this sense, your and
> > > > remote mainline is divergent - you need to either merge or rebase.
> > > >
> > > > Next time, keep your mainline pristine (don't commit any local changes on it,
> > > > instead branch to the topic branch and commit there).
> > > >
> > > > --
> > > > An old man doll... just what I always wanted! - Clara
Previous: Bryan TurnerNext: Junio C Hamano
Message 8 of 11 in “git pull bug report”
  1. Erwin VillejoNov 15, 2021
  2. Bagas SanjayaNov 15, 2021
  3. Erwin VillejoNov 15, 2021
  4. Bagas SanjayaNov 15, 2021
  5. Erwin VillejoNov 15, 2021
  6. Erwin VillejoNov 15, 2021
  7. Bryan TurnerNov 15, 2021
  8. Erwin VillejoNov 15, 2021
  9. Junio C HamanoNov 15, 2021
  10. Bryan TurnerNov 15, 2021
  11. Erwin VillejoNov 16, 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.