From: Matthias Baumgarten Date: Mon, 19 Jul 2021 14:26:29 GMT Subject: Re: pull.rebase config vs. --ff-only on command line Message-ID: In-Reply-To: <60f1c9378d5a1_3302085c@natae.notmuch> On 7/16/21 8:00 PM, Felipe Contreras wrote: > Matthias Baumgarten wrote: >> On 7/16/21 6:44 PM, Felipe Contreras wrote: >>> Elijah Newren wrote: >>>> On Fri, Jul 16, 2021 at 7:52 AM Matthias Baumgarten >>>> wrote: >>>>> this is my first time contacting you guys and girls so I hope this mail >>>>> achieves the expected standard. I've discovered the following behaviour >>>>> of git: >>>>> >>>>> If pull.rebase is configured to true and git pull --ff-only is executed >>>>> it seems like the config wins, i.e. issuing "Successfully rebased and >>>>> updated refs/heads/...", which is not what I would expect. I always >>>>> believed that command line options would overwrite configured options. >>>>> >>>>> Is my assumption that command line options always win wrong or is this a >>>>> bug? >>>> >>>> It's a bug. >>> >>> No it isn't. >>> >>> Elijah is elevating to fact his opinion of what --ff-only should be >>> changed to. >>> >>> But it has not been changed. Today --ff-only is meant only for the merge >>> mode of `git pull`, and like other merge-only options (e.g. --ff, >>> --no-ff, and --squash) it's ignored in the rebase mode. >> >> Shouldn't every explicitly given merge option (like --ff-only) overwrite >> any configured option that would not even result in a merge, i.e. >> forcing a merge and thus forcing ff-only? > > Perhaps. Other developers have suggested that before. > > The problem is that everyone wants to make --ff-only the default, and > then we start to get into a tricky situation, because what should these > do: > > git -c pull.ff=only pull > git -c pull.ff=only pull --merge > git -c pull.ff=only pull --rebase If my assumption were true, and every explicit (cli given) option would overwrite implicitly given ones (i.e. configured options), wouldn't * git -c pull.ff=only pull, do a fast-forward (or merge) * git -c pull.ff=only pull --merge, force a merge commit * git -c pull.ff=only pull --rebase, force rebase > > One of these will always fail, when it shouldn'tWould this even apply under the above assumption? > > I proposed a solution for that, but is has been ignored. I'm sorry! > -- aixigo AG Karl-Friedrich-Str. 68, 52072 Aachen, Germany phone: +49 (0)241 559709-390, fax: +49 (0)241 559709-99 email: matthias.baumgarten@aixigo.com web: https://www.aixigo.com District Court Aachen – HRB 8057 Board: Christian Friedrich, Tobias Haustein Chairman of the Supervisory Board: Dr. Roland Schlager