Dne 24. 11. 20 v 4:41 Felipe Contreras napsal(a): > On Mon, Nov 23, 2020 at 8:32 PM Jeff King wrote: >> On Mon, Nov 23, 2020 at 06:18:40PM -0800, Junio C Hamano wrote: >>> So an obvious thing we could do, if pull.mode is too much of a >>> change, is to make "pull --rebase" codepath honor pull.ff as well, >>> perhaps? I.e. those who set pull.ff=only are saying that "please >>> stop me when I have any local change---I want to be notified if my >>> pull on this branch results in anything but a fast-forward from the >>> upstream". >>> >>> And then making an unconfigured pull.ff to default to pull.ff=only >>> may give a proper failure whether you merge or rebase. I dunno. >> Yeah, I would be perfectly happy with that (and it's in fact what I >> _thought_ was happening before today's discussion). >> >> I do wonder if anybody has set: >> >> pull.rebase=true >> pull.ff=only >> >> which would then refuse to rebase at all, and whether they would be >> annoyed. I am scratching my head over why one would do that, though. It >> is meaningful only if you usually rebase, but when you say "--no-rebase" >> you want to make sure you do not create a merge commit. Which seems >> weird. > I think you are losing track of the goal. > > The goal is that *eventually*: > > 1. No warning is issued > 2. No configuration is needed > 3. The default behavior is sane. > > The whole point of "pull.rebase=ff-only" (aka. "pull.mode=ff-only") > was to make it the *default*. > > If you make "pull.ff=only" the default, *and* you make "git pull > --rebase" respect that, then "git pull --rebase" will fail by default > (unless it's a fast-forward). > > What we really need is something like: > > 1. git pull # fail by default unless it's a fast-forward > 2. git pull --merge # force a merge (unless it's a fast-forward, > depending on pull.ff) > 3. git pull --rebase # force a rebase (unless it's a fast-forward, > depending on pull.ff) This is the default I would expect. Vít