From: Louis Stuber Date: Fri, 05 Jun 2015 16:34:21 GMT Subject: [PATCH 2/2] Fix git rev-list --bisect and git bisect visualize when the bisection is done in old/new mode. Message-ID: <1433522061-14532-2-git-send-email-stuberl@ensimag.grenoble-inp.fr> In-Reply-To: <1433522061-14532-1-git-send-email-stuberl@ensimag.grenoble-inp.fr> Signed-off-by: Louis Stuber Signed-off-by: Antoine Delaite --- revision.c | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) diff --git a/revision.c b/revision.c index 7ddbaa0..b631596 100644 --- a/revision.c +++ b/revision.c @@ -2075,12 +2075,23 @@ void parse_revision_opt(struct rev_info *revs, struct parse_opt_ctx_t *ctx, static int for_each_bad_bisect_ref(const char *submodule, each_ref_fn fn, void *cb_data) { - return for_each_ref_in_submodule(submodule, "refs/bisect/bad", fn, cb_data); + /* + * if BISECT_OLDNEWMODE exists, this is an old/new bisect and the path is different + */ + struct stat st; + if (stat(git_path("BISECT_OLDNEWMODE"), &st)) + return for_each_ref_in_submodule(submodule, "refs/bisect/bad", fn, cb_data); + else + return for_each_ref_in_submodule(submodule, "refs/bisect/new", fn, cb_data); } static int for_each_good_bisect_ref(const char *submodule, each_ref_fn fn, void *cb_data) { - return for_each_ref_in_submodule(submodule, "refs/bisect/good", fn, cb_data); + struct stat st; + if (stat(git_path("BISECT_OLDNEWMODE"), &st)) + return for_each_ref_in_submodule(submodule, "refs/bisect/good", fn, cb_data); + else + return for_each_ref_in_submodule(submodule, "refs/bisect/old", fn, cb_data); } static int handle_revision_pseudo_opt(const char *submodule, -- 1.7.1