Re: [PATCH][OUTREACHY] bisect: allow `git bisect` to run from subdirectory
- From
- Phillip Wood <phillip.wood123@gmail.com>
- Date
- Oct 21, 2020, 13:41 UTC
- Message-ID
- <2f71d0c4-a5de-c22b-9cbe-a9efcb3cd21d@gmail.com>
- In-Reply-To
- <pull.765.git.1603271344522.gitgitgadget@gmail.com>
Hi Sangeeta
It's great to see you tackling another patch
On 21/10/2020 10:09, Sangeeta via GitGitGadget wrote:
> From: Sangeeta Jain <sangunb09@gmail.com> > > As `git rebase` was never prevented to run from subdirectory we shouldn't > prevent `git bisect` to run from subdirectories.
I'm not sure it's relevant to bisect whether or not rebase can be run from a subdirectory. What is important is that we want all commands to be able to be run from a subdirectory unless there is a good reason not to (and there isn't for bisect)
I'd recommend adding [Outreachy] to the beginning of the first line of the commit message as well.
Show 33 quoted lines
> 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 <sangunb09@gmail.com> > --- > [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 sangunb09@gmail.com [sangunb09@gmail.com] > > 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
`git bisect run` takes an optional script that is run to determine if the current commit is good or bad. If the script is given with a relative path then we need to make sure it is invoked from the subdirectory that `git bisect run` was started from. As far as I can see git-bisect.sh does not change directory but it would be good to have a test for `git bisect run <cmd>` from a subdirectory.
Best Wishes
Phillip
Show 22 quoted lines
> _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 >