Re: Why does `pull.rebase` default to `false`?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux