The flag leak_pending is weird, let's get rid of it.
Changes from v1: Everything.
An independent optimization found while working on this series:
commit: avoid allocation in clear_commit_marks_many()
Trivial unrelated conversions (included as bonus patches):
commit: use clear_commit_marks_many() in remove_redundant()
ref-filter: use clear_commit_marks_many() in do_merge_filter()
A new function is introduced, will be used by checkout:
object: add clear_commit_marks_all()
The users of leak_pending are are converted to use alternatives:
bisect: avoid using the rev_info flag leak_pending
bundle: avoid using the rev_info flag leak_pending
checkout: avoid using the rev_info flag leak_pending
Cleanups:
revision: remove the unused flag leak_pending
commit: remove unused function clear_commit_marks_for_object_array()
bisect.c | 30 +++++++++---------------------
builtin/checkout.c | 13 +------------
bundle.c | 35 ++++++++++++++++-------------------
commit.c | 19 ++-----------------
commit.h | 1 -
object.c | 11 +++++++++++
object.h | 5 +++++
ref-filter.c | 3 +--
revision.c | 3 +--
revision.h | 12 ------------
10 files changed, 46 insertions(+), 86 deletions(-)