From: Peter Baumann <waste.manager@gmx.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jeff King <peff@peff.net>, Adam Borowski <kilobyte@angband.pl>,
git@vger.kernel.org
Subject: Re: git-bisect working only from toplevel dir
Date: Thu, 24 Nov 2011 08:06:59 +0100 [thread overview]
Message-ID: <20111124070659.GC6291@m62s10.vlinux.de> (raw)
In-Reply-To: <7vzkfma7q9.fsf@alter.siamese.dyndns.org>
On Wed, Nov 23, 2011 at 12:45:18PM -0800, Junio C Hamano wrote:
> Jeff King <peff@peff.net> writes:
>
> > 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.
> >
> > But from what directory would you expect:
> >
> > git bisect run make
>
> My usual way to enlighten somebody is by forcing him/her to think the
> consequences, but because you did the thinking for the OP in this thread
> instead, it didn't work. Makes me somewhat sad ;-<.
>
> > 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. Maybe that commit should be
> > considered indeterminate then?
>
> Yeah that sounds like a reasonable thing to do.
>
> > 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.
>
> Absolutely. Saying SUBDIRECTORY_OK without thinking about the consequence
> through is a good discussion starter but is not a good patch.
>
> Also didn't we make bisect workable in a bare repository recently? So the
> start-up sequence has to be something more elaborate like...
>
> . git-sh-setup
> if we are in a bare repository
> then
> : we are happy...nothing funky needs to be done
> elif we are not in a working tree
> barf
> elif we are not at the top
> prefix=$(git rev-parse --show-prefix)
> cd_to_toplevel
> fi
>
> and then inside bisect_next() you would check if $prefix exists, and go
> there to run bisect--helper (or fail to go there and say "cannot test").
>
But is the "cannot test" aka exit(127) the best we can do in this case?
I think having a failing make, because someone has checked in code which doesn't
even compile, is something totally different than having no Makefile at all,
because the directory doesn't even exist. To me, this seems more like an error
in the run script to not handle all the cases of the (dis)appearing directory.
On the other hand we don't waste much time trying to test such an "untestable"
commit, because this check will be fast because no compiling is involved.
The only time wasted will bethe build time for the "usable" commits and the
time the user needs to figure out why the heck some(/most?) of his commits
are "untestable".
next prev parent reply other threads:[~2011-11-24 7:07 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-23 14:50 git-bisect working only from toplevel dir Adam Borowski
2011-11-23 19:09 ` Junio C Hamano
2011-11-23 19:23 ` Jeff King
2011-11-23 20:09 ` Adam Borowski
2011-11-23 21:45 ` Jeff King
2011-11-23 20:26 ` Peter Baumann
2011-11-23 21:36 ` Jeff King
2011-11-23 20:45 ` Junio C Hamano
2011-11-24 7:06 ` Peter Baumann [this message]
2011-11-24 11:50 ` Junio C Hamano
2011-11-29 12:06 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111124070659.GC6291@m62s10.vlinux.de \
--to=waste.manager@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=kilobyte@angband.pl \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).