Subject: [PATCH] bisect: allow `git bisect` to run from subdirectory

From: "Sangeeta via GitGitGadget" <[email-masked]>
Date: Wed, 21 Oct 2020 09:09:04 +0000

From: Sangeeta Jain <[email-masked]>

As `git rebase` was never prevented to run from subdirectory we shouldn't
prevent `git bisect` to run from subdirectories. This commit removes the
restriction on git bisect to run only from top level directory thereby
allowing it to run from any subdirectory.

Signed-off-by: Sangeeta Jain <[email-masked]>
---
    [Outreachy] bisect: allow git bisect to run from subdirectory
    
    As git rebase was never prevented to run from subdirectory we shouldn't
    prevent git bisect to run from subdirectories. This commit removes the
    restriction on git bisect to run only from top level directory thereby
    allowing it to run from any subdirectory.
    
    Signed-off-by: Sangeeta Jain [email-masked] [[email-masked]]

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-765%2Fsangu09%2Fbisect_fix-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-765/sangu09/bisect_fix-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/765

 git-bisect.sh               | 1 +
 t/t6030-bisect-porcelain.sh | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/git-bisect.sh b/git-bisect.sh
index ea7e684ebb..9cd0fa0483 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -32,6 +32,7 @@ git bisect run <cmd>...
 Please use "git help bisect" to get the full man page.'
 
 OPTIONS_SPEC=
+SUBDIRECTORY_OK=Yes
 . git-sh-setup
 
 _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index aa226381be..6b68cc01d0 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -49,6 +49,13 @@ test_expect_success 'bisect starts with only one bad' '
 	git bisect next
 '
 
+test_expect_success 'bisect runs in a subdirectory' '
+    mkdir -p subdir &&
+    git -C subdir bisect start &&
+    git -C subdir bisect good &&
+    git -C subdir bisect reset
+'
+
 test_expect_success 'bisect does not start with only one good' '
 	git bisect reset &&
 	git bisect start &&

base-commit: 69986e19ffcfb9af674ae5180689ab7bbf92ed28
-- 
gitgitgadget