From bb42dc971074ebe83697943b364350e19e4c0911 Mon Sep 17 00:00:00 2001 From: Ruoyu Zhong Date: Tue, 28 Oct 2025 22:27:41 +0000 Subject: [PATCH 1/3] bisect: update usage and docs to match each other Update the usage string of `git bisect` and documentation to match each other. While at it, also: 1. Move the synopsis of `git bisect` subcommands to the synopsis section, so that the test `t0450-txt-doc-vs-help.sh` can pass. 2. Document the `git bisect next` subcommand, which exists in the code but is missing from the documentation. See also: [1]. [1]: https://lore.kernel.org/git/3DA38465-7636-4EEF-B074-53E4628F5355@gmail.com/ Suggested-by: Ben Knoble Signed-off-by: Ruoyu Zhong Signed-off-by: Junio C Hamano --- Documentation/git-bisect.adoc | 43 +++++++++++++++++++++-------------- builtin/bisect.c | 21 ++++++++++------- t/t0450/adoc-help-mismatches | 1 - 3 files changed, 39 insertions(+), 26 deletions(-) diff --git a/Documentation/git-bisect.adoc b/Documentation/git-bisect.adoc index 58dbb74a15760c..b0078dda0eb050 100644 --- a/Documentation/git-bisect.adoc +++ b/Documentation/git-bisect.adoc @@ -9,26 +9,22 @@ git-bisect - Use binary search to find the commit that introduced a bug SYNOPSIS -------- [verse] -'git bisect' +'git bisect' start [--term-(bad|new)= --term-(good|old)=] + [--no-checkout] [--first-parent] [ [...]] [--] [...] +'git bisect' (bad|new|) [] +'git bisect' (good|old|) [...] +'git bisect' terms [--term-(good|old) | --term-(bad|new)] +'git bisect' skip [(|)...] +'git bisect' next +'git bisect' reset [] +'git bisect' (visualize|view) +'git bisect' replay +'git bisect' log +'git bisect' run [...] +'git bisect' help DESCRIPTION ----------- -The command takes various subcommands, and different options depending -on the subcommand: - - git bisect start [--term-(bad|new)= --term-(good|old)=] - [--no-checkout] [--first-parent] [ [...]] [--] [...] - git bisect (bad|new|) [] - git bisect (good|old|) [...] - git bisect terms [--term-(good|old) | --term-(bad|new)] - git bisect skip [(|)...] - git bisect reset [] - git bisect (visualize|view) - git bisect replay - git bisect log - git bisect run [...] - git bisect help - This command uses a binary search algorithm to find which commit in your project's history introduced a bug. You use it by first telling it a "bad" commit that is known to contain the bug, and a "good" @@ -295,6 +291,19 @@ $ git bisect skip v2.5 v2.5..v2.6 This tells the bisect process that the commits between `v2.5` and `v2.6` (inclusive) should be skipped. +Bisect next +~~~~~~~~~~~ + +Normally, after marking a revision as good or bad, Git automatically +computes and checks out the next revision to test. However, if you need to +explicitly request the next bisection step, you can use: + +------------ +$ git bisect next +------------ + +You might use this to resume the bisection process after interrupting it +by checking out a different revision. Cutting down bisection by giving more parameters to bisect start ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/builtin/bisect.c b/builtin/bisect.c index 8b8d870cd1ef08..a500993bcb9073 100644 --- a/builtin/bisect.c +++ b/builtin/bisect.c @@ -27,13 +27,14 @@ static GIT_PATH_FUNC(git_path_bisect_first_parent, "BISECT_FIRST_PARENT") static GIT_PATH_FUNC(git_path_bisect_run, "BISECT_RUN") #define BUILTIN_GIT_BISECT_START_USAGE \ - N_("git bisect start [--term-(new|bad)= --term-(old|good)=]" \ - " [--no-checkout] [--first-parent] [ [...]] [--]" \ - " [...]") -#define BUILTIN_GIT_BISECT_STATE_USAGE \ - N_("git bisect (good|bad) [...]") + N_("git bisect start [--term-(bad|new)= --term-(good|old)=]\n" \ + " [--no-checkout] [--first-parent] [ [...]] [--] [...]") +#define BUILTIN_GIT_BISECT_BAD_USAGE \ + N_("git bisect (bad|new|) []") +#define BUILTIN_GIT_BISECT_GOOD_USAGE \ + N_("git bisect (good|old|) [...]") #define BUILTIN_GIT_BISECT_TERMS_USAGE \ - "git bisect terms [--term-good | --term-bad]" + "git bisect terms [--term-(good|old) | --term-(bad|new)]" #define BUILTIN_GIT_BISECT_SKIP_USAGE \ N_("git bisect skip [(|)...]") #define BUILTIN_GIT_BISECT_NEXT_USAGE \ @@ -41,17 +42,20 @@ static GIT_PATH_FUNC(git_path_bisect_run, "BISECT_RUN") #define BUILTIN_GIT_BISECT_RESET_USAGE \ N_("git bisect reset []") #define BUILTIN_GIT_BISECT_VISUALIZE_USAGE \ - "git bisect visualize" + "git bisect (visualize|view)" #define BUILTIN_GIT_BISECT_REPLAY_USAGE \ N_("git bisect replay ") #define BUILTIN_GIT_BISECT_LOG_USAGE \ "git bisect log" #define BUILTIN_GIT_BISECT_RUN_USAGE \ N_("git bisect run [...]") +#define BUILTIN_GIT_BISECT_HELP_USAGE \ + "git bisect help" static const char * const git_bisect_usage[] = { BUILTIN_GIT_BISECT_START_USAGE, - BUILTIN_GIT_BISECT_STATE_USAGE, + BUILTIN_GIT_BISECT_BAD_USAGE, + BUILTIN_GIT_BISECT_GOOD_USAGE, BUILTIN_GIT_BISECT_TERMS_USAGE, BUILTIN_GIT_BISECT_SKIP_USAGE, BUILTIN_GIT_BISECT_NEXT_USAGE, @@ -60,6 +64,7 @@ static const char * const git_bisect_usage[] = { BUILTIN_GIT_BISECT_REPLAY_USAGE, BUILTIN_GIT_BISECT_LOG_USAGE, BUILTIN_GIT_BISECT_RUN_USAGE, + BUILTIN_GIT_BISECT_HELP_USAGE, NULL }; diff --git a/t/t0450/adoc-help-mismatches b/t/t0450/adoc-help-mismatches index 2c6ecd5fc8e80e..8ee2d3f7c81502 100644 --- a/t/t0450/adoc-help-mismatches +++ b/t/t0450/adoc-help-mismatches @@ -2,7 +2,6 @@ add am apply archive -bisect blame branch check-ref-format From 73b9cdb7c40a675a95758d678c5c7509f98172c8 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 4 Nov 2025 15:13:20 -0800 Subject: [PATCH 2/3] GitHub CI: macos-13 images are no more As this image was deprecated on Sep 22nd, and will be dropped on Dec 4th, replace these jobs to use macos-14 images instead. Signed-off-by: Junio C Hamano --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index aa6bce673b4e99..f2af90ad311f6c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -313,16 +313,16 @@ jobs: vector: - jobname: osx-clang cc: clang - pool: macos-13 + pool: macos-14 - jobname: osx-reftable cc: clang - pool: macos-13 + pool: macos-14 - jobname: osx-gcc cc: gcc-13 - pool: macos-13 + pool: macos-14 - jobname: osx-meson cc: clang - pool: macos-13 + pool: macos-14 env: CC: ${{matrix.vector.cc}} CC_PACKAGE: ${{matrix.vector.cc_package}} From 77b7284ccab768981a2cd08b6b2f164d91201e18 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 5 Nov 2025 13:41:41 -0800 Subject: [PATCH 3/3] Git 2.52-rc1 Signed-off-by: Junio C Hamano --- Documentation/RelNotes/2.52.0.adoc | 7 +++++++ GIT-VERSION-GEN | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Documentation/RelNotes/2.52.0.adoc b/Documentation/RelNotes/2.52.0.adoc index 9759a37871404c..6c0e7d05c02f2b 100644 --- a/Documentation/RelNotes/2.52.0.adoc +++ b/Documentation/RelNotes/2.52.0.adoc @@ -76,6 +76,9 @@ UI, Workflows & Features * "git repo structure", a new command. + * The help text and manual page of "git bisect" command have been + made consistent with each other. + Performance, Internal Implementation, Development Support etc. -------------------------------------------------------------- @@ -420,6 +423,10 @@ including security updates, are included in this release. documented for fnmatch(3); document as such to reduce confusion. (merge 8a6d158a1d jk/doc-backslash-in-exclude later to maint). + * The version of macos image used in GitHub CI has been updated to + macos-14, as the macos-13 that we have been using got deprecated. + (merge 73b9cdb7c4 jc/ci-use-macos-14 later to maint). + * Other code cleanup, docfix, build fix, etc. (merge 529a60a885 ua/t1517-short-help-tests later to maint). (merge 22d421fed9 ac/deglobal-fmt-merge-log-config later to maint). diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index c43f33d8893153..4929570f2cc2bd 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,6 +1,6 @@ #!/bin/sh -DEF_VER=v2.52.0-rc0 +DEF_VER=v2.52.0-rc1 LF=' '