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

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

From
Elijah Newren via GitGitGadget <gitgitgadget@gmail.com>
Date
Aug 3, 2021, 15:35 UTC
Message-ID
<3989f194ba91e64852285064b652979861445c03.1628004920.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1059.git.git.1628004920.gitgitgadget@gmail.com>
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`.

Further, the wording for "resolve" claimed that it was "considered generally safe and fast", which implies that the other strategies are not. While such an implication may have been true in 2005 when written, it may well be that `ort` is faster today (since it does not need to recurse into all directories). Also, since `resolve` was the default for less than a year while `recursive` has been the default for a decade and a half, I think `recursive` is more battle-tested than `resolve` is. Just strike this extraneous phrase.

Also, provide some quick historical context that may help users understand its purpose and place in the list of merge strategies.

Signed-off-by: Elijah Newren <newren@gmail.com>
---
 Documentation/merge-strategies.txt | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
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.
+
 octopus::
 	This resolves cases with more than two heads, but refuses to do
 	a complex merge that needs manual resolution.  It is
-- 
gitgitgadget
Previous: Elijah NewrenNext: Junio C Hamano
Message 9 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.