[PATCH 7/8] Make O(n) algorithm the default implementation of --bisect [rev 2]
From: Jon Seymour <hidden>
Date: 2016-06-15 22:42:01
Subsystem:
the rest · Maintainer:
Linus Torvalds
This patch makes the O(n) the default implementation of the git-rev-list
--bisect switch.
The original O(n^2) algorithm is still available as --bisect-orig.
It is left around to provide a quick and simple way to verify the
accuracy of the O(n) algorithm.
A subsequent patch is supplied to remove support for --bisect-orig
completely.
Signed-off: Jon Seymour [off-list ref]
---
Linus: you may choose to defer application of this patch if you are
not confident that the O(n) algorithm is good.
[rev 2]
* included necessary change to t/t6002... that was accidentally
ommitted on the first attempt.
The patch series to be applied is now:
[PATCH 1/8] Factor out useful test case infrastructure from t/t6001... into t/t6000-lib.sh
[PATCH 2/8] Introduce unit tests for git-rev-list --bisect
[PATCH 3/8] Add a topological sort procedure to commit.c [rev 3]
[PATCH 4/8] This patch introduces a O(n) bisection algorithm to git.
[PATCH 5/8] Removes DEBUG code from rev-list.c and -DDEBUG from Makefile
[PATCH 6/8] Move bisection algorithms into commit.c
[PATCH 7/8] Make O(n) algorithm the default implementation of --bisect [rev 2]
[PATCH 8/8] Removes support for O(n^2) algorithm from git-rev-list completely [rev 2]
[PATCH] Change the sed seperator in t/t6000-lib.sh
---
rev-list.c | 5 +++--
t/t6002-rev-list-bisect.sh | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
203e690e7d7a2aa75f0336744dc6b4455ad51844diff --git a/rev-list.c b/rev-list.c
--- a/rev-list.c
+++ b/rev-list.c@@ -16,6 +16,7 @@ static const char rev_list_usage[] = " --min-age=epoch\n" " --header\n" " --pretty\n" + " --bisect\n" " --merge-order [ --show-breaks ]"; static int bisect_list = 0;
@@ -365,11 +366,11 @@ int main(int argc, char **argv) show_parents = 1; continue; } - if (!strcmp(arg, "--bisect-by-cut")) { + if (!strcmp(arg, "--bisect")) { bisect_by_cut_option = 1; continue; } - if (!strcmp(arg, "--bisect")) { + if (!strcmp(arg, "--bisect-orig")) { bisect_list = 1; continue; }
diff --git a/t/t6002-rev-list-bisect.sh b/t/t6002-rev-list-bisect.sh
--- a/t/t6002-rev-list-bisect.sh
+++ b/t/t6002-rev-list-bisect.sh@@ -241,7 +241,7 @@ EOF } test_sequence "--bisect" -test_sequence "--bisect-by-cut" +test_sequence "--bisect-orig" # # ------------