Re: git-bisect working only from toplevel dir
- From
Adam Borowski <kilobyte@angband.pl>
- Date
- Nov 23, 2011, 20:09 UTC
- Message-ID
- <20111123200920.GA21004@angband.pl>
- In-Reply-To
- <20111123192329.GA21630@sigill.intra.peff.net>
On Wed, Nov 23, 2011 at 02:23:29PM -0500, Jeff King wrote:
Show 9 quoted lines
> On Wed, Nov 23, 2011 at 11:09:29AM -0800, Junio C Hamano wrote: > > > As to the approach, I suspect that it would be far better if it made > > workable with cd_to_toplevel at the beginning, instead of saying > > SUBDIRECTORY_OK. > > > > After all, the current directory may disappear during the course of > > bisection, upon checking out a revision that did not have the directory > > you started your bisection from.
No different from git-reset or git-checkout.
Show 7 quoted lines
> > But from what directory would you expect: > > git bisect run make > > to run from? If you use a GNU-ish layout with all of your code in > "src/",
In a vast majority of cases the layout remains constant during the whole bisection.
Show 8 quoted lines
> then I can see it useful to do something like: > > cd src > git bisect run make > > If we cd_to_toplevel, we can remember the prefix that we started from > and cd to it before running the user's command, but there is no > guarantee that it actually exists.
I guess, the best that can be done is going into as many path components as possible.
> Maybe that commit should be considered indeterminate then?
Why? If you're running an automated command, then it will probably fail, yeah. I guess most people bisect manually though, so even in repositories that do have this problem, there's someone who can test the given commit anyway.
> I dunno. I haven't thought that hard about it. But I don't think it's > quite as simple as just telling bisect it's OK to run from a subdir.
At the very least, generally working with a caveat in corner cases seems to be better than outright failing.
If you're paranoid, there's an option of having a config setting "yes, I've read the manual why automated bisection can fail".
-- 1KB // Yo momma uses IPv4!