Subject: [PATCH] bisect: remove root directory restriction for git bisect

From: "Sheikh hamza via GitGitGadget" <[email-masked]>
Date: Sun, 22 Mar 2020 09:15:47 +0000

From: sheikh hamza <[email-masked]>

    according to the open issue #486 the git bisect
    command should be able to run from inside any
    subdirectory and in the same disscusion "dscho"
    gave the directions and those directions lead me
    the fix of adding SUBDIRECTORY_OK=Yes on L#34
    before sourcing git-sh-setup that made it work as
    in git-sh-setup there was a check on SUBDIRECTORY_OK
    that prevents it to run in sub directories if it is not
    set to "ok" as this file was also sourced in other commands
    that are required to only run from root one of such scripts
    is git-filter-branch

Signed-off-by: sheikh hamza <[email-masked]>
---
    bisect: remove root directory restriction for git bisect
    
    according to the open issue #486 the git bisect
    command should be able to run from inside any
    subdirectory and in the same disscusion "dscho"
    gave the directions and those directions lead me
    the fix of adding SUBDIRECTORY_OK=Yes on L#34
    before sourcing git-sh-setup that made it work as
    in git-sh-setup there was a check on SUBDIRECTORY_OK
    that prevents it to run in sub directories if it is not
    set to "ok" as this file was also sourced in other commands
    that are required to only run from root one of such scripts
    is git-filter-branch

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-736%2Fsheikhhamza012%2Fbisect_subdirectory_fix-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-736/sheikhhamza012/bisect_subdirectory_fix-v1
Pull-Request: https://github.com/git/git/pull/736

 git-bisect.sh            | 1 +
 t/perf/bisect_regression | 6 ++----
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/git-bisect.sh b/git-bisect.sh
index efee12b8b1e..8c1da200e41 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -31,6 +31,7 @@ git bisect run <cmd>...
 
 Please use "git help bisect" to get the full man page.'
 
+SUBDIRECTORY_OK=Yes
 OPTIONS_SPEC=
 . git-sh-setup
 
diff --git a/t/perf/bisect_regression b/t/perf/bisect_regression
index ce47e1662a9..d6b96f49e46 100755
--- a/t/perf/bisect_regression
+++ b/t/perf/bisect_regression
@@ -57,11 +57,9 @@ tmpdir=$(mktemp -d -t bisect_regression_XXXXXX) || die "Failed to create temp di
 echo "$oldtime" >"$tmpdir/oldtime" || die "Failed to write to '$tmpdir/oldtime'"
 echo "$newtime" >"$tmpdir/newtime" || die "Failed to write to '$tmpdir/newtime'"
 
-# Bisecting must be performed from the top level directory (even with --no-checkout)
-(
-	toplevel_dir=$(git rev-parse --show-toplevel) || die "Failed to find top level directory"
-	cd "$toplevel_dir" || die "Failed to cd into top level directory '$toplevel_dir'"
 
+(
+	 
 	git bisect start --no-checkout "$newrev" "$oldrev" || die "Failed to start bisecting"
 
 	git bisect run t/perf/bisect_run_script "$test_script" "$test_number" "$tmpdir"

base-commit: 98cedd0233ee88e69711f79d1126b6bd772ff5bd
-- 
gitgitgadget