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(-) -- 2.15.1