git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/2] pull: improve default warning

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Jun 21, 2021, 22:12 UTC
Message-ID
<60d10ebd99d86_113139208cd@natae.notmuch>
In-Reply-To
<CAMMLpeRnUC+nOek=Kz6bj0_R6EUaDr=7ObKF01V641_ByOmk6A@mail.gmail.com>
Alex Henrie wrote:
Show 14 quoted lines
> On Mon, Jun 21, 2021 at 12:51 PM Felipe Contreras
> <felipe.contreras@gmail.com> wrote:
> >
> > Alex Henrie wrote:
> > > On Mon, Jun 21, 2021 at 11:52 AM Felipe Contreras
> > > <felipe.contreras@gmail.com> wrote:
> > > >
> > > > +                "If unsure, run \"git pull --no-rebase\".\n"
> > >
> > > I don't think the message should recommend merging over rebasing;
> >
> > This is the default strategy.
> 
> Yes, but it shouldn't be,

Feel free to propose a patch to change that, in the meantime this is the default.

> and we shouldn't make the problem worse by encouraging people to
> default to merging without thinking.
We are not.
Show 15 quoted lines
> > > The eventual goal is to get rid of the default here and make the user
> > > make an educated choice, which does imply some work on the user's
> > > part, but it avoids the massive headaches created by users merging
> > > without understanding what they're doing.
> >
> > Indeed, but any minute change in git's UI is a gargantuan task that
> > takes several years--or even decades--to accomplish, if it ever happens.
> > I started this patch in 2013, and here we are.
> 
> Although what needs to be done had been envisioned by some as early as
> 2013, the warning has only been around since Git 2.27 (released in
> June 2020), and it was only restricted to pulls where fast-forwarding
> is impossible in Git 2.31 (released in March 2021). The good news is
> that (unless I'm mistaken) there are no more changes that need to be
> made prior to changing the message from from "advise" to "die".
There is *a lot* that needs to be done.
 1. Update the documentation
 2. Add a --merge option (instead of the ackward --no-rebase)
 3. Fix all the wrong behavior with --ff, --no-ff, and -ff-only
 4. Add a pull.mode configuration
 5. Add a configuration for the mode in which we want to die
 6. Fix inconsistencies in the UI

Only *then* can we even begin to throw a warning stating that the default behavior might change in the future, and how to try the new behavior.

> All that needs to be done is to set a date to make the switch.
No, there's a lot more.
> For comparison, users were given from Git 1.8 to Git 2.0 (October 2012
> to May 2014, 1 year and 7 months) to acclimate when push.default
> changed from "matching" to "simple".

We haven't told the users the default mode is going to change for a single day. We don't have a configuration to tell them to turn on to enable the new mode, nor do we have a configuration to tell them to enable to stay in the old mode.

There's no configuration in git 2.32 that is equivalent to what I proposed with pull.mode=fast-forward?

In the meantime there's no reason to have subpar documentation.
-- 
Felipe Contreras
Previous: Alex HenrieNext: Alex Henrie
Message 22 of 40 in “pull: documentation improvements”
  1. 0/2 pull: documentation improvementsFelipe Contreras, Jun 21, 2021
  2. 1/2 doc: pull: explain what is a fast-forwardFelipe Contreras, Jun 21, 2021
  3. Bagas SanjayaJun 22, 2021
  4. Felipe ContrerasJun 23, 2021
  5. Philip OakleyJun 24, 2021
  6. Felipe ContrerasJun 24, 2021
  7. Philip OakleyJun 24, 2021
  8. Felipe ContrerasJun 24, 2021
  9. Philip OakleyJun 24, 2021
  10. Felipe ContrerasJun 24, 2021
  11. Ævar Arnfjörð BjarmasonJun 25, 2021
  12. Felipe ContrerasJun 25, 2021
  13. Ævar Arnfjörð BjarmasonJun 25, 2021
  14. Felipe ContrerasJun 25, 2021
  15. Kerry, RichardJun 25, 2021
  16. Felipe ContrerasJun 25, 2021
  17. Felipe ContrerasJun 25, 2021
  18. 2/2 pull: improve default warningFelipe Contreras, Jun 21, 2021
  19. Alex HenrieJun 21, 2021
  20. Felipe ContrerasJun 21, 2021
  21. Alex HenrieJun 21, 2021
  22. Felipe ContrerasJun 21, 2021
  23. Alex HenrieJun 22, 2021
  24. Felipe ContrerasJun 22, 2021
  25. Elijah NewrenJun 22, 2021
  26. Alex HenrieJun 22, 2021
  27. Elijah NewrenJun 23, 2021
  28. Felipe ContrerasJun 23, 2021
  29. Elijah NewrenJun 23, 2021
  30. Felipe ContrerasJun 23, 2021
  31. Felipe ContrerasJun 23, 2021
  32. Elijah NewrenJun 23, 2021
  33. Felipe ContrerasJun 23, 2021
  34. Alex HenrieJun 24, 2021
  35. Felipe ContrerasJun 24, 2021
  36. Alex HenrieJun 27, 2021
  37. Felipe ContrerasJun 27, 2021
  38. 0/2 pull: documentation improvementsFelipe Contreras, Jun 23, 2021
  39. 1/2 doc: pull: explain what is a fast-forwardFelipe Contreras, Jun 23, 2021
  40. 2/2 pull: improve default warningFelipe Contreras, Jun 23, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.