Browse Source

bisect: add enum to represent bisect returning codes

Since we want to get rid of git-bisect.sh, it would be necessary to
convert those exit() calls to return statements so that errors can be
reported.

Create an enum called `bisect_error` with the bisecting return codes
to use in `bisect.c` libification process.

Change bisect_next_all() to make it return this enum.

Mentored-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Miriam Rubio <mirucam@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Miriam Rubio 5 years ago committed by Junio C Hamano
parent
commit
680e8a01e5
  1. 2
      bisect.c
  2. 14
      bisect.h

2
bisect.c

@ -945,7 +945,7 @@ void read_bisect_terms(const char **read_bad, const char **read_good) @@ -945,7 +945,7 @@ void read_bisect_terms(const char **read_bad, const char **read_good)
* If no_checkout is non-zero, the bisection process does not
* checkout the trial commit but instead simply updates BISECT_HEAD.
*/
int bisect_next_all(struct repository *r, const char *prefix, int no_checkout)
enum bisect_error bisect_next_all(struct repository *r, const char *prefix, int no_checkout)
{
struct rev_info revs;
struct commit_list *tried;

14
bisect.h

@ -31,7 +31,19 @@ struct rev_list_info { @@ -31,7 +31,19 @@ struct rev_list_info {
const char *header_prefix;
};

int bisect_next_all(struct repository *r,
/*
* enum bisect_error represents the following return codes:
* BISECT_OK: success code. Internally, it means that next
* commit has been found (and possibly checked out) and it
* should be tested.
* BISECT_FAILED error code: default error code.
*/
enum bisect_error {
BISECT_OK = 0,
BISECT_FAILED = -1
};

enum bisect_error bisect_next_all(struct repository *r,
const char *prefix,
int no_checkout);


Loading…
Cancel
Save