Elijah Newren <newren@xxxxxxxxx> writes: > On Fri, Feb 28, 2020 at 10:17 AM Robert Dailey <rcdailey.lists@xxxxxxxxx> wrote: >> ... >> I'm sure there are edge cases that explain why the default is `false`, >> but I'd argue that it is likely a case of the minority concerns >> becoming an inconvenience for the majority of users. >> >> Thanks in advance for any enlightenment! > > The default of pull.rebase being false makes a lot of sense for Linus > or any of his lieutenants, or any one else in an integrator-like > workflow. > ... > We may want to do something similar with pull.rebase (only let it > succeed if it's a fast-forward by default, otherwise require the user > to set pull.rebase first?), but I don't want to have to think through > the details or work on such a transition -- I'm just commenting with > some thoughts that might help you understand the current state. And > others probably have more details than me. While it is true that it would make no sense for integrators to rebase (in fact it would be a grave sin for them to do so), I do not think the choice of the default has much to do with it. Whether you keep your work on topic branches, or you only work on a single thing at a time and use master for it, an individual contributor who is working on a project (be it small or large) can do 'pull --rebase' on each topic branch to keep up with the updated upstream, but it quickly becomes unpleansant once the topics start to get interrelated. And at that point, leaving your 'master' clean and only run "pull --ff-only" there, and after doing it once, rebasing your multiple topics locally on top of the updated upstream (or your 'master', which is a clean copy of it), would start to make more sense. And once you start doing that, the only 'pull' you'd do would be 'pull --ff-only', and at that point the default value of pull.rebase no longer matters. Sarcastically put, setting pull.rebase=true may become a way to ensure that a newbie stays a newbie who does not learn to juggle multiple related branches, because only the simplest thing becomes easier with the setting.