mirror of
https://github.com/git/git
synced 2024-08-27 19:49:21 +00:00
bisect: treat BISECT_HEAD as a pseudo ref
Both the git-bisect.sh as bisect--helper inspected the file system directly. Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
ce57d85645
commit
de966e39a8
|
@ -13,7 +13,6 @@ static GIT_PATH_FUNC(git_path_bisect_terms, "BISECT_TERMS")
|
||||||
static GIT_PATH_FUNC(git_path_bisect_expected_rev, "BISECT_EXPECTED_REV")
|
static GIT_PATH_FUNC(git_path_bisect_expected_rev, "BISECT_EXPECTED_REV")
|
||||||
static GIT_PATH_FUNC(git_path_bisect_ancestors_ok, "BISECT_ANCESTORS_OK")
|
static GIT_PATH_FUNC(git_path_bisect_ancestors_ok, "BISECT_ANCESTORS_OK")
|
||||||
static GIT_PATH_FUNC(git_path_bisect_start, "BISECT_START")
|
static GIT_PATH_FUNC(git_path_bisect_start, "BISECT_START")
|
||||||
static GIT_PATH_FUNC(git_path_bisect_head, "BISECT_HEAD")
|
|
||||||
static GIT_PATH_FUNC(git_path_bisect_log, "BISECT_LOG")
|
static GIT_PATH_FUNC(git_path_bisect_log, "BISECT_LOG")
|
||||||
static GIT_PATH_FUNC(git_path_head_name, "head-name")
|
static GIT_PATH_FUNC(git_path_head_name, "head-name")
|
||||||
static GIT_PATH_FUNC(git_path_bisect_names, "BISECT_NAMES")
|
static GIT_PATH_FUNC(git_path_bisect_names, "BISECT_NAMES")
|
||||||
|
@ -164,7 +163,7 @@ static int bisect_reset(const char *commit)
|
||||||
strbuf_addstr(&branch, commit);
|
strbuf_addstr(&branch, commit);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!file_exists(git_path_bisect_head())) {
|
if (!ref_exists("BISECT_HEAD")) {
|
||||||
struct argv_array argv = ARGV_ARRAY_INIT;
|
struct argv_array argv = ARGV_ARRAY_INIT;
|
||||||
|
|
||||||
argv_array_pushl(&argv, "checkout", branch.buf, "--", NULL);
|
argv_array_pushl(&argv, "checkout", branch.buf, "--", NULL);
|
||||||
|
|
|
@ -41,7 +41,7 @@ TERM_GOOD=good
|
||||||
|
|
||||||
bisect_head()
|
bisect_head()
|
||||||
{
|
{
|
||||||
if test -f "$GIT_DIR/BISECT_HEAD"
|
if git rev-parse --verify -q BISECT_HEAD > /dev/null
|
||||||
then
|
then
|
||||||
echo BISECT_HEAD
|
echo BISECT_HEAD
|
||||||
else
|
else
|
||||||
|
@ -153,7 +153,7 @@ bisect_next() {
|
||||||
git bisect--helper --bisect-next-check $TERM_GOOD $TERM_BAD $TERM_GOOD|| exit
|
git bisect--helper --bisect-next-check $TERM_GOOD $TERM_BAD $TERM_GOOD|| exit
|
||||||
|
|
||||||
# Perform all bisection computation, display and checkout
|
# Perform all bisection computation, display and checkout
|
||||||
git bisect--helper --next-all $(test -f "$GIT_DIR/BISECT_HEAD" && echo --no-checkout)
|
git bisect--helper --next-all $(git rev-parse --verify -q BISECT_HEAD > /dev/null && echo --no-checkout)
|
||||||
res=$?
|
res=$?
|
||||||
|
|
||||||
# Check if we should exit because bisection is finished
|
# Check if we should exit because bisection is finished
|
||||||
|
|
Loading…
Reference in a new issue