diff options
author | Pranit Bauva <pranit.bauva@gmail.com> | 2020-02-17 09:40:34 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-02-19 18:37:14 +0100 |
commit | ce58b5d8b128568e9b4f37703377cbc22eaf00f5 (patch) | |
tree | 2b78812647d4fbb82839ba2c307be15723d0639b /bisect.h | |
parent | bisect--helper: return error codes from `cmd_bisect__helper()` (diff) | |
download | git-ce58b5d8b128568e9b4f37703377cbc22eaf00f5.tar.xz git-ce58b5d8b128568e9b4f37703377cbc22eaf00f5.zip |
bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents
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.
Emulate try catch in C by converting `exit(<positive-value>)` to
`return <negative-value>`. Follow POSIX conventions to return
<negative-value> to indicate error.
Update all callers to handle the error returns.
Mentored-by: Christian Couder <chriscool@tuxfamily.org>
Mentored-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Pranit Bauva <pranit.bauva@gmail.com>
Signed-off-by: Tanushree Tumane <tanushreetumane@gmail.com>
Signed-off-by: Miriam Rubio <mirucam@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'bisect.h')
-rw-r--r-- | bisect.h | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -37,10 +37,13 @@ struct rev_list_info { * commit has been found (and possibly checked out) and it * should be tested. * BISECT_FAILED error code: default error code. + * BISECT_ONLY_SKIPPED_LEFT error code: only skipped + * commits left to be tested. */ enum bisect_error { BISECT_OK = 0, - BISECT_FAILED = -1 + BISECT_FAILED = -1, + BISECT_ONLY_SKIPPED_LEFT = -2 }; enum bisect_error bisect_next_all(struct repository *r, |