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

Re: [PATCH 04/10] merge-strategies.txt: update wording for the resolve strategy

From
Elijah Newren <newren@gmail.com>
Date
Aug 4, 2021, 00:37 UTC
Message-ID
<CABPp-BErWux0inUR_FonzVwX0eKxGrjAofo+GYjMNE4FV0qwsQ@mail.gmail.com>
In-Reply-To
<xmqqmtpyrrhe.fsf@gitster.g>
On Tue, Aug 3, 2021 at 6:19 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 12 quoted lines
>
> "Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com> writes:
>
> > From: Elijah Newren <newren@gmail.com>
> >
> > The resolve merge strategy was given prominent positioning in this
> > document, being listed first since it was the default at the time the
> > document was written.  It hasn't been the default since before Git v1.0
> > was released, though.  Move it later in the document, near `octopus` and
> > `ours`.
>
> I think it was listed first because it was written first.

Do you want it to be kept first for that reason as well? I thought it made more sense to cover the default strategy first, but I can move it back if you prefer historical implementation order.

Show 6 quoted lines
> > Further, the wording for "resolve" claimed that it was "considered
> > generally safe and fast", which implies that the other strategies are
> > not.
>
> I do not think it never implied any such thing; it is good to remove
> it, or add the same to all strategies, though.

I am unsure if your double negatives are intentional (not..never)...but I think you're saying it's okay to remove this text.

Show 32 quoted lines
> > diff --git a/Documentation/merge-strategies.txt b/Documentation/merge-strategies.txt
> > index 5d707e952aa..6b6017e1cc8 100644
> > --- a/Documentation/merge-strategies.txt
> > +++ b/Documentation/merge-strategies.txt
> > @@ -6,13 +6,6 @@ backend 'merge strategies' to be chosen with `-s` option.  Some strategies
> >  can also take their own options, which can be passed by giving `-X<option>`
> >  arguments to `git merge` and/or `git pull`.
> >
> > -resolve::
> > -     This can only resolve two heads (i.e. the current branch
> > -     and another branch you pulled from) using a 3-way merge
> > -     algorithm.  It tries to carefully detect criss-cross
> > -     merge ambiguities and is considered generally safe and
> > -     fast.
> > -
> >  recursive::
> >       This can only resolve two heads using a 3-way merge
> >       algorithm.  When there is more than one common
> > @@ -106,6 +99,13 @@ subtree[=<path>];;
> >       is prefixed (or stripped from the beginning) to make the shape of
> >       two trees to match.
> >
> > +resolve::
> > +     This can only resolve two heads (i.e. the current branch
> > +     and another branch you pulled from) using a 3-way merge
> > +     algorithm.  It tries to carefully detect criss-cross
> > +     merge ambiguities.  It cannot handle renames.  This was
> > +     the default merge algorithm prior to November 2005.
>
> "It does not handle renames"; it wasn't like we wanted to do so and
> cannot---we didn't want to, didn't think it was worth doing, it was
> not part of the design objective to do renames, period.
Right, sorry for the poor wording.  I'll fix it to use your phrase.
> I do not think it is even worth mentioning that it was the default
> in the past.  And I do not think it is worth saying what timeframe
> the recursive was the default, either.

I don't feel strongly about it and I can strike it. My reasoning was that providing historical timeframes might help them repeat or recreate old merges in their own repositories.

However, I agree that the more likely bits of information that will help users select the strategy they want are the capabilities (e.g. renames, criss-cross merges, number of heads, etc.).

Previous: Junio C HamanoNext: Junio C Hamano
Message 11 of 61 in “Documentation updates: merge-strategies”
  1. 00/10 Documentation updates: merge-strategiesElijah Newren via GitGitGadget, Aug 3, 2021
  2. 01/10 git-rebase.txt: correct antiquated claims about --rebase-mergesElijah Newren via GitGitGadget, Aug 3, 2021
  3. Johannes SchindelinAug 3, 2021
  4. 02/10 directory-rename-detection.txt: small updates due to merge-ort optimizationsElijah Newren via GitGitGadget, Aug 3, 2021
  5. Junio C HamanoAug 4, 2021
  6. 03/10 Documentation: edit awkward references to `git merge-recursive`Elijah Newren via GitGitGadget, Aug 3, 2021
  7. Junio C HamanoAug 4, 2021
  8. Elijah NewrenAug 4, 2021
  9. 04/10 merge-strategies.txt: update wording for the resolve strategyElijah Newren via GitGitGadget, Aug 3, 2021
  10. Junio C HamanoAug 4, 2021
  11. Elijah NewrenAug 4, 2021
  12. Junio C HamanoAug 4, 2021
  13. 05/10 merge-strategies.txt: do not imply using copy detection is desiredElijah Newren via GitGitGadget, Aug 3, 2021
  14. Johannes SchindelinAug 3, 2021
  15. Junio C HamanoAug 4, 2021
  16. 07/10 merge-strategies.txt: explain why no-renames might be usefulElijah Newren via GitGitGadget, Aug 3, 2021
  17. Junio C HamanoAug 4, 2021
  18. Elijah NewrenAug 4, 2021
  19. Junio C HamanoAug 4, 2021
  20. 08/10 merge-strategies.txt: fix simple capitalization errorElijah Newren via GitGitGadget, Aug 3, 2021
  21. Johannes SchindelinAug 3, 2021
  22. Elijah NewrenAug 3, 2021
  23. Johannes SchindelinAug 4, 2021
  24. 06/10 merge-strategies.txt: avoid giving special preference to patience algorithmElijah Newren via GitGitGadget, Aug 3, 2021
  25. Eric SunshineAug 3, 2021
  26. 09/10 Documentation: add coverage of the `ort` merge strategyElijah Newren via GitGitGadget, Aug 3, 2021
  27. Johannes SchindelinAug 3, 2021
  28. Elijah NewrenAug 3, 2021
  29. Junio C HamanoAug 4, 2021
  30. Elijah NewrenAug 4, 2021
  31. 10/10 Update error message and code commentElijah Newren via GitGitGadget, Aug 3, 2021
  32. Johannes SchindelinAug 3, 2021
  33. Elijah NewrenAug 3, 2021
  34. Johannes SchindelinAug 3, 2021
  35. 00/10 Documentation updates: merge-strategiesElijah Newren via GitGitGadget, Aug 4, 2021
  36. 01/10 git-rebase.txt: correct antiquated claims about --rebase-mergesElijah Newren via GitGitGadget, Aug 4, 2021
  37. 02/10 directory-rename-detection.txt: small updates due to merge-ort optimizationsElijah Newren via GitGitGadget, Aug 4, 2021
  38. 03/10 Documentation: edit awkward references to `git merge-recursive`Elijah Newren via GitGitGadget, Aug 4, 2021
  39. 04/10 merge-strategies.txt: update wording for the resolve strategyElijah Newren via GitGitGadget, Aug 4, 2021
  40. 05/10 merge-strategies.txt: do not imply using copy detection is desiredElijah Newren via GitGitGadget, Aug 4, 2021
  41. 07/10 merge-strategies.txt: fix simple capitalization errorElijah Newren via GitGitGadget, Aug 4, 2021
  42. 06/10 merge-strategies.txt: avoid giving special preference to patience algorithmElijah Newren via GitGitGadget, Aug 4, 2021
  43. 08/10 git-rebase.txt: correct out-of-date and misleading text about renamesElijah Newren via GitGitGadget, Aug 4, 2021
  44. Ramsay JonesAug 4, 2021
  45. Elijah NewrenAug 4, 2021
  46. 09/10 merge-strategies.txt: add coverage of the `ort` merge strategyElijah Newren via GitGitGadget, Aug 4, 2021
  47. 10/10 Update error message and code commentElijah Newren via GitGitGadget, Aug 4, 2021
  48. Junio C HamanoAug 4, 2021
  49. Derrick StoleeAug 4, 2021
  50. Johannes SchindelinAug 4, 2021
  51. 00/10 Documentation updates: merge-strategiesElijah Newren via GitGitGadget, Aug 4, 2021
  52. 01/10 git-rebase.txt: correct antiquated claims about --rebase-mergesElijah Newren via GitGitGadget, Aug 4, 2021
  53. 02/10 directory-rename-detection.txt: small updates due to merge-ort optimizationsElijah Newren via GitGitGadget, Aug 4, 2021
  54. 03/10 Documentation: edit awkward references to `git merge-recursive`Elijah Newren via GitGitGadget, Aug 4, 2021
  55. 04/10 merge-strategies.txt: update wording for the resolve strategyElijah Newren via GitGitGadget, Aug 4, 2021
  56. 06/10 merge-strategies.txt: avoid giving special preference to patience algorithmElijah Newren via GitGitGadget, Aug 4, 2021
  57. 05/10 merge-strategies.txt: do not imply using copy detection is desiredElijah Newren via GitGitGadget, Aug 4, 2021
  58. 07/10 merge-strategies.txt: fix simple capitalization errorElijah Newren via GitGitGadget, Aug 4, 2021
  59. 08/10 git-rebase.txt: correct out-of-date and misleading text about renamesElijah Newren via GitGitGadget, Aug 4, 2021
  60. 09/10 merge-strategies.txt: add coverage of the `ort` merge strategyElijah Newren via GitGitGadget, Aug 4, 2021
  61. 10/10 Update error message and code commentElijah Newren via GitGitGadget, Aug 4, 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.