Re: pull.rebase config vs. --ff-only on command line
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Jul 16, 2021, 18:00 UTC
- Message-ID
- <60f1c9378d5a1_3302085c@natae.notmuch>
- In-Reply-To
- <00b50aa6-9b61-9f80-1d8d-2db3ed5e7638@aixigo.com>
Matthias Baumgarten wrote:
Show 30 quoted lines
> On 7/16/21 6:44 PM, Felipe Contreras wrote: > > Elijah Newren wrote: > >> On Fri, Jul 16, 2021 at 7:52 AM Matthias Baumgarten > >> <matthias.baumgarten@aixigo.com> 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
One of these will always fail, when it shouldn't.
I proposed a solution for that, but is has been ignored.
-- Felipe Contreras