These patches correspond to a second part of patch series of Outreachy project "Finish converting `git bisect` from shell to C" started by Pranit Bauva and Tanushree Tumane (https://public-inbox.org/git/pull.117.git.gitgitgadget@xxxxxxxxx) and continued by me. These patch series emails were generated from: https://gitlab.com/mirucam/git/commits/git-bisect-work-part2-v3. I would like to thank Junio Hamano for reviewing this patch series and Christian Couder for his help. --- Changes since v2 Finish converting git bisect to C part 2 patch series --- General changes --------------- * Rebase on master branch: efe3874640 (Sync with v2.26.1, 2020-04-13) Specific changes ---------------- [1/12] bisect--helper: fix `cmd_*()` function switch default return * Use `BUG()` instead of `return error()` in default switch. -- [2/12] bisect--helper: use '-res' in 'cmd_bisect__helper' return * New patch: use '-res' instead of 'abs(res)'. -- [3/12] bisect--helper: introduce new `write_in_file()` function * Rename input parameter `filepath` to `path`. * Change `error_errno()` to `error()` in mode checking. * Change error message when file cannot be opened. * Add `fclose()` before error return. -- [4/12] bisect--helper: reimplement `bisect_autostart` shell function in C * Reorder patch before `reimplement `bisect_next` and `bisect_auto_next` shell functions in C` to use `bisect_autostart()` function in `bisect_append_log_quoted()`. -- ` [5/12] bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C * Amend commit message. * Add `clear_commit_marks()` at the end of bisect_next_all() and remove it from `bisect_rev_setup()`. * Fix if condition. * Add `bisect_autostart()` in `bisect_append_log_quoted()`. * Check `git_path_bisect_head()` with `file_exist()` instead of `is_empty_or_missing_file()`. * Fix return with BISECT_INTERNAL_SUCCESS_1ST_BAD_FOUND. * Add conversion in `cmd_*()` to BISECT_OK when return is BISECT_INTERNAL_SUCCESS_1ST_BAD_FOUND. * Note to previous reviewer: suggestion to change `bisect_auto_next()` function to return void cannot be done because errors from `bisect_next()` are not ignored. -- [5/12] bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C * Check `git_path_bisect_head()` with `file_exist()` instead of `is_empty_or_missing_file()`. -- Miriam Rubio (3): bisect--helper: fix `cmd_*()` function switch default return bisect--helper: use '-res' in 'cmd_bisect__helper' return bisect--helper: introduce new `write_in_file()` function Pranit Bauva (9): bisect--helper: reimplement `bisect_autostart` shell function in C bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C bisect--helper: finish porting `bisect_start()` to C bisect--helper: retire `--bisect-clean-state` subcommand bisect--helper: retire `--next-all` subcommand bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C bisect--helper: retire `--check-expected-revs` subcommand bisect--helper: retire `--write-terms` subcommand bisect--helper: retire `--bisect-autostart` subcommand bisect.c | 8 + builtin/bisect--helper.c | 383 +++++++++++++++++++++++++++++++++------ git-bisect.sh | 145 +-------------- 3 files changed, 347 insertions(+), 189 deletions(-) -- 2.25.0