All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Elijah Newren <newren@gmail.com>, Elijah Newren <newren@gmail.com>
Subject: [PATCH 09/10] Documentation: add coverage of the `ort` merge strategy
Date: Tue, 03 Aug 2021 15:35:19 +0000	[thread overview]
Message-ID: <37a69fd2e0bdb7fba6b6c47c3edec0964165cb61.1628004920.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1059.git.git.1628004920.gitgitgadget@gmail.com>

From: Elijah Newren <newren@gmail.com>

Signed-off-by: Elijah Newren <newren@gmail.com>
---
 Documentation/git-rebase.txt       |  7 ++++---
 Documentation/merge-strategies.txt | 14 ++++++++++++++
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index b4429954480..3e112011c6f 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -340,9 +340,10 @@ See also INCOMPATIBLE OPTIONS below.
 
 -m::
 --merge::
-	Use merging strategies to rebase.  When the recursive (default) merge
-	strategy is used, this allows rebase to be aware of renames on the
-	upstream side.  This is the default.
+	Use merging strategies to rebase.  When either the `recursive`
+	(default) or `ort` merge strategy is used, this allows rebase
+	to be aware of renames on the upstream side.  This is the
+	default.
 +
 Note that a rebase merge works by replaying each commit from the working
 branch on top of the <upstream> branch.  Because of this, when a merge
diff --git a/Documentation/merge-strategies.txt b/Documentation/merge-strategies.txt
index d21dbd1e051..d13d4a29875 100644
--- a/Documentation/merge-strategies.txt
+++ b/Documentation/merge-strategies.txt
@@ -96,6 +96,20 @@ subtree[=<path>];;
 	is prefixed (or stripped from the beginning) to make the shape of
 	two trees to match.
 
+ort::
+	This is meant as a drop-in replacement for the `recursive`
+	algorithm (as reflected in its acronym -- "Ostensibly
+	Recursive's Twin"), and will likely replace it in the future.
+	It fixes corner cases that the `recursive` strategy handles
+	suboptimally, and is significantly faster in large
+	repositories -- especially when many renames are involved.
++
+The `ort` strategy takes all the same options as `recursive`.
+However, it ignores three of those options: `no-renames`,
+`patience` and `diff-algorithm`.  It always runs with rename
+detection (it handles it much faster than `recursive` does), and
+it specifically uses diff-algorithm=histogram.
+
 resolve::
 	This can only resolve two heads (i.e. the current branch
 	and another branch you pulled from) using a 3-way merge
-- 
gitgitgadget


  parent reply	other threads:[~2021-08-03 15:35 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-03 15:35 [PATCH 00/10] Documentation updates: merge-strategies Elijah Newren via GitGitGadget
2021-08-03 15:35 ` [PATCH 01/10] git-rebase.txt: correct antiquated claims about --rebase-merges Elijah Newren via GitGitGadget
2021-08-03 22:53   ` Johannes Schindelin
2021-08-03 15:35 ` [PATCH 02/10] directory-rename-detection.txt: small updates due to merge-ort optimizations Elijah Newren via GitGitGadget
2021-08-04  0:06   ` Junio C Hamano
2021-08-03 15:35 ` [PATCH 03/10] Documentation: edit awkward references to `git merge-recursive` Elijah Newren via GitGitGadget
2021-08-04  0:14   ` Junio C Hamano
2021-08-04  0:19     ` Elijah Newren
2021-08-03 15:35 ` [PATCH 04/10] merge-strategies.txt: update wording for the resolve strategy Elijah Newren via GitGitGadget
2021-08-04  0:19   ` Junio C Hamano
2021-08-04  0:37     ` Elijah Newren
2021-08-04  2:01       ` Junio C Hamano
2021-08-03 15:35 ` [PATCH 05/10] merge-strategies.txt: do not imply using copy detection is desired Elijah Newren via GitGitGadget
2021-08-03 22:56   ` Johannes Schindelin
2021-08-04  0:21   ` Junio C Hamano
2021-08-03 15:35 ` [PATCH 06/10] merge-strategies.txt: avoid giving special preference to patience algorithm Elijah Newren via GitGitGadget
2021-08-03 17:00   ` Eric Sunshine
2021-08-03 15:35 ` [PATCH 07/10] merge-strategies.txt: explain why no-renames might be useful Elijah Newren via GitGitGadget
2021-08-04  0:28   ` Junio C Hamano
2021-08-04  0:44     ` Elijah Newren
2021-08-04  2:05       ` Junio C Hamano
2021-08-03 15:35 ` [PATCH 08/10] merge-strategies.txt: fix simple capitalization error Elijah Newren via GitGitGadget
2021-08-03 23:01   ` Johannes Schindelin
2021-08-03 23:32     ` Elijah Newren
2021-08-04 21:42       ` Johannes Schindelin
2021-08-03 15:35 ` Elijah Newren via GitGitGadget [this message]
2021-08-03 23:03   ` [PATCH 09/10] Documentation: add coverage of the `ort` merge strategy Johannes Schindelin
2021-08-03 23:43     ` Elijah Newren
2021-08-04  0:33   ` Junio C Hamano
2021-08-04  0:39     ` Elijah Newren
2021-08-03 15:35 ` [PATCH 10/10] Update error message and code comment Elijah Newren via GitGitGadget
2021-08-03 23:05   ` Johannes Schindelin
2021-08-03 23:49     ` Elijah Newren
2021-08-03 23:06 ` [PATCH 00/10] Documentation updates: merge-strategies Johannes Schindelin
2021-08-04  5:28 ` [PATCH v2 " Elijah Newren via GitGitGadget
2021-08-04  5:28   ` [PATCH v2 01/10] git-rebase.txt: correct antiquated claims about --rebase-merges Elijah Newren via GitGitGadget
2021-08-04  5:28   ` [PATCH v2 02/10] directory-rename-detection.txt: small updates due to merge-ort optimizations Elijah Newren via GitGitGadget
2021-08-04  5:28   ` [PATCH v2 03/10] Documentation: edit awkward references to `git merge-recursive` Elijah Newren via GitGitGadget
2021-08-04  5:28   ` [PATCH v2 04/10] merge-strategies.txt: update wording for the resolve strategy Elijah Newren via GitGitGadget
2021-08-04  5:28   ` [PATCH v2 05/10] merge-strategies.txt: do not imply using copy detection is desired Elijah Newren via GitGitGadget
2021-08-04  5:28   ` [PATCH v2 06/10] merge-strategies.txt: avoid giving special preference to patience algorithm Elijah Newren via GitGitGadget
2021-08-04  5:28   ` [PATCH v2 07/10] merge-strategies.txt: fix simple capitalization error Elijah Newren via GitGitGadget
2021-08-04  5:28   ` [PATCH v2 08/10] git-rebase.txt: correct out-of-date and misleading text about renames Elijah Newren via GitGitGadget
2021-08-04 15:50     ` Ramsay Jones
2021-08-04 17:18       ` Elijah Newren
2021-08-04  5:28   ` [PATCH v2 09/10] merge-strategies.txt: add coverage of the `ort` merge strategy Elijah Newren via GitGitGadget
2021-08-04  5:28   ` [PATCH v2 10/10] Update error message and code comment Elijah Newren via GitGitGadget
2021-08-04  6:12   ` [PATCH v2 00/10] Documentation updates: merge-strategies Junio C Hamano
2021-08-04 14:56     ` Derrick Stolee
2021-08-04 21:47   ` Johannes Schindelin
2021-08-04 23:50   ` [PATCH v3 " Elijah Newren via GitGitGadget
2021-08-04 23:50     ` [PATCH v3 01/10] git-rebase.txt: correct antiquated claims about --rebase-merges Elijah Newren via GitGitGadget
2021-08-04 23:50     ` [PATCH v3 02/10] directory-rename-detection.txt: small updates due to merge-ort optimizations Elijah Newren via GitGitGadget
2021-08-04 23:50     ` [PATCH v3 03/10] Documentation: edit awkward references to `git merge-recursive` Elijah Newren via GitGitGadget
2021-08-04 23:50     ` [PATCH v3 04/10] merge-strategies.txt: update wording for the resolve strategy Elijah Newren via GitGitGadget
2021-08-04 23:50     ` [PATCH v3 05/10] merge-strategies.txt: do not imply using copy detection is desired Elijah Newren via GitGitGadget
2021-08-04 23:50     ` [PATCH v3 06/10] merge-strategies.txt: avoid giving special preference to patience algorithm Elijah Newren via GitGitGadget
2021-08-04 23:50     ` [PATCH v3 07/10] merge-strategies.txt: fix simple capitalization error Elijah Newren via GitGitGadget
2021-08-04 23:50     ` [PATCH v3 08/10] git-rebase.txt: correct out-of-date and misleading text about renames Elijah Newren via GitGitGadget
2021-08-04 23:50     ` [PATCH v3 09/10] merge-strategies.txt: add coverage of the `ort` merge strategy Elijah Newren via GitGitGadget
2021-08-04 23:50     ` [PATCH v3 10/10] Update error message and code comment Elijah Newren via GitGitGadget

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=37a69fd2e0bdb7fba6b6c47c3edec0964165cb61.1628004920.git.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=newren@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.