Subject: [PATCH 00/12] Die commit->util, die!

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Sat, 12 May 2018 10:00:16 +0200

There's not much to write here. It's basically a copy from 12/12:

This 'util' pointer can be used for many different purposes,
controlled in different ways. Some are not even contained in a command
code, but buried deep in common code with no clue who will use it and
how. For example, if revs.show_source is set, then it's used for
storing path name, but if you happen to call get_merge_parent() then
some 'util' may end up storing another thing.

The move to using commit-slab gives us a much better picture of how
some piece of data is associated with a commit and what for. Since
nobody uses 'util' pointer anymore, we can retire it so that nobody will
abuse it again. commit-slab will be the way forward for associating
data to a commit.

As a side benefit, this shrinks struct commit by 8 bytes (on 64-bit
architecture) which should help reduce memory usage for reachability
test a bit. This is also what commit-slab is invented for [1].

[1] 96c4f4a370 (commit: allow associating auxiliary info on-demand -
2013-04-09)

Nguyễn Thái Ngọc Duy (12):
  blame: use commit-slab for blame suspects instead of commit->util
  describe: use commit-slab for commit names instead of commit->util
  shallow.c: use commit-slab for commit depth instead of commit->util
  sequencer.c: use commit-slab to mark seen commits
  sequencer.c: use commit-slab to associate todo items to commits
  revision.c: use commit-slab for show_source
  bisect.c: use commit-slab for commit weight instead of commit->util
  name-rev: use commit-slab for rev-name instead of commit->util
  show-branch: use commit-slab for commit-name instead of commit->util
  log: use commit-slab in prepare_bases() instead of commit->util
  merge: use commit-slab in merge remote desc instead of commit->util
  commit.h: delete 'util' field in struct commit

 bisect.c              | 12 +++++++++---
 blame.c               | 42 +++++++++++++++++++++++++++++++-----------
 blame.h               |  2 ++
 builtin/blame.c       |  2 +-
 builtin/describe.c    | 16 +++++++++++++---
 builtin/fast-export.c | 14 +++++++++-----
 builtin/log.c         | 17 +++++++++++++----
 builtin/merge.c       | 25 +++++++++++++------------
 builtin/name-rev.c    | 23 ++++++++++++++++++++---
 builtin/show-branch.c | 39 +++++++++++++++++++++++++++------------
 commit.c              | 12 ++++++++++--
 commit.h              |  8 ++++++--
 log-tree.c            |  8 ++++++--
 merge-recursive.c     |  8 +++++---
 revision.c            | 17 +++++++++++++----
 revision.h            |  5 ++++-
 sequencer.c           | 24 ++++++++++++++++++------
 shallow.c             | 37 +++++++++++++++++++++++++------------
 18 files changed, 225 insertions(+), 86 deletions(-)

-- 
2.17.0.705.g3525833791