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
Junio C Hamano <gitster@pobox.com>
Date
Aug 4, 2021, 00:19 UTC
Message-ID
<xmqqmtpyrrhe.fsf@gitster.g>
In-Reply-To
<3989f194ba91e64852285064b652979861445c03.1628004920.git.gitgitgadget@gmail.com>
"Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 7 quoted lines
> 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.
> 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.

Show 28 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.

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.

>  octopus::
>  	This resolves cases with more than two heads, but refuses to do
>  	a complex merge that needs manual resolution.  It is
Previous: Elijah Newren via GitGitGadgetNext: Elijah Newren
Message 10 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.