Subject: [PATCH/WIP 00/19] Kill the_index, final part

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Fri, 19 Oct 2018 16:52:18 +0200

Stefan I see you start removing more references of the_repository in
another series (haven't really looked at it yet) so this is just heads
up so we could coordinate if needed. Still WIP, not really ready for
review yet.

This series removes use of the_index outside builtin/ and t/helper/.
The only the_index reference left is in repository.c. The macro
NO_THE_REPOSITORY_COMPATIBILITY_MACROS is now flipped to
USE_THE_INDEX_COMPATIBILITY_MACROS. "the_index" is forbidden by
default.

After this I think we can start pushing the_repository outside library
code. Then perhaps clean them up in builtin code too and you can
finally get rid of it. But I don't think that'll happen in a year's
time.

Nguyễn Thái Ngọc Duy (19):
  wt-status.c: remove implicit dependency on the_index
  wt-status.c: remove implicit dependency the_repository
  list-objects-filter.c: remove implicit dependency on the_index
  list-objects.c: remove implicit dependency on the_index
  sequencer.c: remove implicit dependency on the_index
  sequencer.c: remove implicit dependency on the_repository
  notes-merge.c: remove implicit dependency on the_index
  notes-merge.c: remove implicit dependency the_repository
  repository.c: replace hold_locked_index() with repo_hold_locked_index()
  checkout: avoid the_index when possible
  read-cache.c: kill read_index()
  read-cache.c: replace update_index_if_able with repo_&
  transport.c: remove implicit dependency on the_index
  sha1-name.c: remove implicit dependency on the_index
  merge-recursive.c: remove implicit dependency on the_index
  merge-recursive.c: remove implicit dependency on the_repository
  read-cache.c: remove the_* from index_has_changes()
  cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch
  Flip NO_THE_REPOSITORY_COMPATIBILITY_MACROS

 apply.c                              |   5 +-
 attr.c                               |   1 -
 blame.c                              |   4 +-
 builtin/add.c                        |   1 +
 builtin/am.c                         |  11 +-
 builtin/blame.c                      |   3 +-
 builtin/cat-file.c                   |   7 +-
 builtin/check-attr.c                 |   1 +
 builtin/check-ignore.c               |   1 +
 builtin/checkout-index.c             |   1 +
 builtin/checkout.c                   |   5 +-
 builtin/clean.c                      |   1 +
 builtin/clone.c                      |   1 +
 builtin/commit.c                     |  10 +-
 builtin/describe.c                   |   3 +-
 builtin/diff-files.c                 |   1 +
 builtin/diff-index.c                 |   1 +
 builtin/diff-tree.c                  |   3 +-
 builtin/diff.c                       |   3 +-
 builtin/difftool.c                   |   1 +
 builtin/fsck.c                       |   1 +
 builtin/grep.c                       |   4 +-
 builtin/hash-object.c                |   3 +-
 builtin/log.c                        |   4 +-
 builtin/ls-files.c                   |   1 -
 builtin/merge-index.c                |   1 +
 builtin/merge-ours.c                 |   1 +
 builtin/merge-recursive.c            |   2 +-
 builtin/merge-tree.c                 |   3 +-
 builtin/merge.c                      |   5 +-
 builtin/mv.c                         |   1 +
 builtin/notes.c                      |   2 +-
 builtin/pack-objects.c               |   2 +-
 builtin/pull.c                       |   4 +-
 builtin/push.c                       |   3 +-
 builtin/read-tree.c                  |   1 +
 builtin/rebase--helper.c             |  15 +-
 builtin/replace.c                    |   2 +-
 builtin/reset.c                      |   1 +
 builtin/rev-parse.c                  |   4 +-
 builtin/revert.c                     |   6 +-
 builtin/rm.c                         |   1 +
 builtin/submodule--helper.c          |   1 +
 builtin/update-index.c               |   1 +
 builtin/write-tree.c                 |   1 +
 cache-tree.h                         |   2 +-
 cache.h                              |  35 +--
 convert.c                            |   1 -
 diff.h                               |   2 +-
 dir.c                                |   1 -
 git.c                                |   4 +-
 list-objects-filter-options.c        |   2 +-
 list-objects-filter.c                |   7 +-
 list-objects-filter.h                |   1 +
 list-objects.c                       |   3 +
 merge-recursive.c                    | 194 ++++++------
 merge-recursive.h                    |   6 +-
 merge.c                              |   4 +-
 name-hash.c                          |   1 -
 notes-merge.c                        |  16 +-
 notes-merge.h                        |   6 +-
 pathspec.c                           |   1 -
 preload-index.c                      |  11 +-
 read-cache.c                         |  44 ++-
 ref-filter.c                         |   2 +-
 repository.c                         |   9 +
 repository.h                         |  16 +
 rerere.c                             |   8 +-
 rerere.h                             |   2 +-
 revision.c                           |  12 +-
 revision.h                           |   2 +-
 sequencer.c                          | 435 +++++++++++++++------------
 sequencer.h                          |  27 +-
 sha1-name.c                          |  56 ++--
 submodule.c                          |   1 -
 t/helper/test-dump-fsmonitor.c       |   4 +-
 t/helper/test-dump-untracked-cache.c |   1 +
 t/helper/test-tool.h                 |   1 +
 transport.c                          |   7 +-
 transport.h                          |   3 +-
 tree.c                               |   1 -
 unpack-trees.c                       |   1 -
 wt-status.c                          |  97 +++---
 wt-status.h                          |  21 +-
 84 files changed, 673 insertions(+), 508 deletions(-)

-- 
2.19.1.647.g708186aaf9