Signed-off-by: Louis Stuber <stub...@ensimag.grenoble-inp.fr>
Signed-off-by: Antoine Delaite <antoine.dela...@ensimag.grenoble-inp.fr>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to