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-v4. I would like to thank Johannes Schindelin for reviewing this patch series and Christian Couder for his help. General changes --------------- * Rebase on master branch: f402ea6816 (The fifth batch, 2020-06-25) * Improve commit messages. Specific changes ---------------- [3/12] bisect--helper: introduce new `write_in_file()` function * Add a wrapper for "w" mode. * Adapt calls to new wrapper. -- [4/12] bisect--helper: reimplement `bisect_autostart` shell function in C * Add file_is_not_empty() function and call. * Change fprintf to fprintf_ln. * !isatty(STDIN_FILENO) returns 0 instead of 1. * Change bisect_autostart() return implementation. * Move bisect_autostart() previous header declaration to patch [6/12]. * Change some error and user messages. -- [5/12] bisect: call 'clear_commit_marks_all()' in 'bisect_next_all()' * New patch splitted from [6/12] patch. -- [6/12] bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C * Add struct add_bisect_ref_data. * Add wrapper append_to_file() and adapt calls. * Remove register_good_ref() and prepare_rev_argv() functions. * Add add_bisect_ref() function. * Reimplementation of prepare_revs() function. * Include process_skipped_commits() code in bisect_skipped_commits(). * Use lookup_commit_reference_by_name() instead of lookup_commit_reference(). -- [7/12] bisect--helper: finish porting `bisect_start()` to C * Amend code comments. * Add is_bisect_success() function and call. * git-bisect.sh: merge with master changes. -- [10/12] bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C * Remove bisect_head() function. * Add mark_for_removal() function. * Reimplement bisect_state(). -- Miriam Rubio (4): bisect--helper: BUG() in cmd_*() on invalid subcommand bisect--helper: use '-res' in 'cmd_bisect__helper' return bisect--helper: introduce new `write_in_file()` function bisect: call 'clear_commit_marks_all()' in 'bisect_next_all()' 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 | 452 ++++++++++++++++++++++++++++++++------- git-bisect.sh | 145 +------------ 3 files changed, 387 insertions(+), 218 deletions(-) -- 2.25.0