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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dscho and Sangeeta

On 22/10/2020 09:47, Johannes Schindelin wrote:
Hi Phillip,

On Wed, 21 Oct 2020, Phillip Wood wrote:

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@xxxxxxxxx>

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.

The relevance is this: _iff_ we want to prevent `git bisect` from running
in a subdirectory under the premise that that subdirectory might need to
be removed, then why don't we prevent `git rebase` from running in a
subdirectory when that command is equally likely to remove that
subdirectory?

That's a good point, I'd completely missed the analogy with `rebase --exec`

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)

There is a difference in quality here, though. If you run, say, `git
fetch` in a subdirectory, or `git commit` or `git show`, there is not the
same worry that that subdirectory will go away as with `git bisect`, `git
rebase`, `git switch`, `git pull` and other commands.

I'd recommend adding [Outreachy] to the beginning of the first line of
the commit message as well.

I am opposed to that. The fact that this comes in via Outreachy is
interesting at the moment, for reviewers, but not for posterity (i.e. in
the commit that will make it into the commit history).

I thought `am` would strip [Outreachy] the same way as it strips [PATCH]

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.

That's a very good point. We should first add a regression test for
exactly that use case, and then make sure that it passes.

Though I'm now wondering if we should be running the command from the repository root directory like rebase[1]

Best Wishes

Phillip

[1] https://lore.kernel.org/git/cfe33eef-974d-8ff9-ebb4-d1153abd497c@xxxxxxxxx

Ciao,
Dscho




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux