Re: [PATCH v7 1/1] pull: add ff-only option
From: Raymond E. Pasco <hidden>
Date: 2020-11-24 00:59:46
On Mon Nov 23, 2020 at 7:08 PM EST, Felipe Contreras wrote:
I'd have no objection in refactoring this option so it's used for both, but this breaks existing behavior. A user that has "pull.ff=only", and does a "git pull --rebase" might expect it to work. My main interest is what happens when the user has not configured anything, which I defined with a "push.mode=default", any option (e.g. --rebase/--merge) would override that default.
I feel like the parsimonious change to make is simply defaulting the
existing "pull.ff" to "only". I think someone who has set "pull.rebase"
expects pull --rebase behavior just as much as someone who passes
--rebase on the command line. The issue in question is what someone who
has not made any changes to the settings expects to happen with a plain
"git pull", and I certainly agree that people who are not power users
expect a fast-forward (I try not to force my opinions on workflow or
style when onboarding people to Git, but I do always recommend
"pull.ff=only" because I know this is a perennial pitfall).
The problem is that, as it stands now, this would just leave the user
with a cryptic error message ("Not possible to fast-forward, aborting")
when they wanted to see remote changes. I think this might warrant an
even more expanded message than the short one in this patch, but I'm
not sure exactly what it should say - there are a few things the user
might expect, but an error message isn't the best place for a crash
course.