diff options
author | Miriam Rubio <mirucam@gmail.com> | 2020-02-17 09:40:32 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-02-19 18:37:14 +0100 |
commit | 680e8a01e57cd383048bf4e7d9668ce715d6d649 (patch) | |
tree | 8f067a0f2a5a9a6073b205f393cc21adcfc29dae | |
parent | bisect--helper: introduce new `decide_next()` function (diff) | |
download | git-680e8a01e57cd383048bf4e7d9668ce715d6d649.tar.xz git-680e8a01e57cd383048bf4e7d9668ce715d6d649.zip |
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>
-rw-r--r-- | bisect.c | 2 | ||||
-rw-r--r-- | bisect.h | 14 |
2 files changed, 14 insertions, 2 deletions
@@ -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; @@ -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); |