{"thread":{"id":"57345","subject":"pull.ff = only vs. branch.<name>.rebase = true problem","startedAt":"2022-01-31T22:02:43Z","lastAt":"2022-01-31T22:02:43Z","messageCount":1,"participants":["Herman, Geza"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"447368","messageId":"487ff4cc-7683-8282-d398-cda9230f2eb4@gmail.com","threadId":"57345","inReplyTo":null,"subject":"pull.ff = only vs. branch.<name>.rebase = true problem","fromName":"Herman, Geza","fromEmail":"geza.herman@gmail.com","sentAt":"2022-01-31T22:02:37Z","receivedAt":"2022-01-31T22:02:43Z","isPatch":false,"sender":{"key":"geza.herman@gmail.com","avatar":null},"body":"Hi,\n\nI saw a similar bug report two months ago (\"pull.rebase config option \nbroken in 2.33.1\"), but it was only about pull.ff=only and pull.rebase. \nMy issue is that if \"pull.ff = only\" is set, then even if \n\"branch.<name>.rebase = true\", the pull fails because\n\n\"fatal: Not possible to fast-forward, aborting.\"\n\nBut because of the branch settings, I'd expect a rebase here.\n\nI modified the script in the previous bug report to show the issue:\n\n--- 8< -------------\n\ngit init repo\ncd repo\n\ncommit() {\n     echo $1 >$1\n     git add $1\n     git commit -m $1\n}\n\ngit checkout -b local\ncommit base\ncommit local\n\ngit checkout -b remote HEAD^\ncommit remote\n\ngit checkout local\ngit config pull.ff only\ngit config branch.local.rebase true\ngit pull . remote\n\n--- 8< -------------\n\nThis script succeeds with previous versions of git, but with the latest \none it fails.\n\nMy use case is this: I use \"pull.ff=only\" in my ~/.gitconfig to avoid \nany accidental merges throughout all my repos and branches. But, on \nbranches where I do actual work, I usually rebase, so I set \n\"branch.<name>.rebase = true\" on these branches. Previously this worked, \nbut now it has this problem.\n\nThanks,\nGeza Herman\n"}]}