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

Re: "git rebase" behavior change in 2.26.0

From
Jeff King <peff@peff.net>
Date
Mar 25, 2020, 05:39 UTC
Message-ID
<20200325053908.GC651138@coredump.intra.peff.net>
In-Reply-To
<CAM+g_Nuu2jGuNwUMS3j8=EjOrthYzfVTrUzOxQJ=aYcoBAL3Tg@mail.gmail.com>
On Tue, Mar 24, 2020 at 08:38:04PM -0700, Norbert Kiesel wrote:
Show 11 quoted lines
> I track an upstream repo with "pull.rebase = true" where I do a `git
> pull` followed by a `git log -p ORIG_HEAD..` for a branch to see
> changes since the last "pull".  I normally do not commit to this
> branch and thus this normally is a "fast-forward" merge.
> 
> Starting with 2.26 this no longer works because ORIG_HEAD is always
> set to HEAD after my `git pull`.
> 
> I track other prances from the same repo where I do local changes and
> then want the `git pull --rebase` and I thus do not want to
> give up on the `pull.rebase = true` configuration.

I can imagine this is related to the switch to the "merge" backend for git-pull, which may be more eager to overwrite ORIG_HEAD. Perhaps try:

  git -c rebase.backend=apply pull
and see if that behaves differently.

I tried to reproduce what you're seeing, but my recipe doesn't seem to show any difference between the two versions:

-- >8 -- #!/bin/sh

rm -rf repo

git init -q repo cd repo echo content >base && git add base && git commit -q -m base git clone -q . dst echo content >new && git add new && git commit -q -m new

cd dst git rev-parse HEAD >.git/ORIG_HEAD echo before: $(git log -1 --oneline ORIG_HEAD) git -c pull.rebase=true pull -q .. echo after: $(git log -1 --oneline ORIG_HEAD) -- 8< --

We don't seem to touch ORIG_HEAD in either case. But maybe a more complex set of pulled commits would trigger it?

-Peff
Previous: Norbert KieselNext: Elijah Newren
Message 2 of 11 in “"git rebase" behavior change in 2.26.0”
  1. Norbert KieselMar 25, 2020
  2. Jeff KingMar 25, 2020
  3. Elijah NewrenMar 25, 2020
  4. Norbert KieselMar 26, 2020
  5. Norbert KieselMar 26, 2020
  6. Elijah NewrenMar 26, 2020
  7. Elijah NewrenMar 26, 2020
  8. Jeff KingMar 26, 2020
  9. Norbert KieselMar 27, 2020
  10. Elijah NewrenMar 27, 2020
  11. Elijah NewrenMar 27, 2020

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.