X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=bisect.h;h=8bad8d8391546f347ec91324eca21f74bda8e68f;hb=3bab5d56259722843359702bc27111475437ad2a;hp=4e69a11ea8f3c60fe0c273fc4af98760fd236f09;hpb=80b806f1a8a5a51fe2cab52ecfc399142e677ef4;p=thirdparty%2Fgit.git diff --git a/bisect.h b/bisect.h index 4e69a11ea8..8bad8d8391 100644 --- a/bisect.h +++ b/bisect.h @@ -31,7 +31,34 @@ 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. + * BISECT_ONLY_SKIPPED_LEFT error code: only skipped + * commits left to be tested. + * BISECT_MERGE_BASE_CHECK error code: merge base check failed. + * BISECT_NO_TESTABLE_COMMIT error code: no testable commit found. + * BISECT_INTERNAL_SUCCESS_1ST_BAD_FOUND early success code: + * first term_bad commit found. + * BISECT_INTERNAL_SUCCESS_MERGE_BASE early success + * code: found merge base that should be tested. + * Early success codes BISECT_INTERNAL_SUCCESS_1ST_BAD_FOUND and + * BISECT_INTERNAL_SUCCESS_MERGE_BASE should be only internal codes. + */ +enum bisect_error { + BISECT_OK = 0, + BISECT_FAILED = -1, + BISECT_ONLY_SKIPPED_LEFT = -2, + BISECT_MERGE_BASE_CHECK = -3, + BISECT_NO_TESTABLE_COMMIT = -4, + BISECT_INTERNAL_SUCCESS_1ST_BAD_FOUND = -10, + BISECT_INTERNAL_SUCCESS_MERGE_BASE = -11 +}; + +enum bisect_error bisect_next_all(struct repository *r, const char *prefix, int no_checkout);