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

Reply via email to