Subject: [PATCH v3 00/20] Fix incorrect use of the_index

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Wed, 6 Jun 2018 09:39:13 +0200

On Wed, Jun 6, 2018 at 7:02 AM, Nguyễn Thái Ngọc Duy <[email-masked]> wrote:
> v2 fixes an incorrect patch splitting (I should have built one more
> time :P) between 3/5 and 4/5. v1's 6/6 is dropped. Brandon suggested a
> better way of doing it which may happen later.

I started looking into Brandon's suggestion, did some mindless
conversion, then found out a couple more incorrect uses of the_index
:( So here's the whole thing.

Nguyễn Thái Ngọc Duy (20):
  unpack-trees: remove 'extern' on function declaration
  unpack-trees: add a note about path invalidation
  unpack-trees: don't shadow global var the_index
  unpack-tress: convert clear_ce_flags* to avoid the_index
  unpack-trees: avoid the_index in verify_absent()
  attr.h: drop extern from function declaration
  attr: remove an implicit dependency on the_index
  convert.h: drop 'extern' from function declaration
  convert.c: remove an implicit dependency on the_index
  dir.c: remove an implicit dependency on the_index in pathspec code
  ls-files: correct index argument to get_convert_attr_ascii()
  pathspec.c: use the right index instead of the_index
  submodule.c: use the right index instead of the_index
  entry.c: use the right index instead of the_index
  attr: remove index from git_attr_set_direction()
  preload-index.c: use the right index instead of the_index
  cache.c: remove an implicit dependency on the_index
  resolve-undo.c: use the right index instead of the_index
  grep: use the right index instead of the_index
  cache.h: make the_index part of "compatibility macros"

 apply.c                     |  4 +--
 archive.c                   |  8 ++---
 attr.c                      | 52 ++++++++++++++++++-------------
 attr.h                      | 31 ++++++++++---------
 builtin/add.c               |  6 ++--
 builtin/cat-file.c          |  2 +-
 builtin/check-attr.c        |  6 ++--
 builtin/checkout-index.c    |  1 +
 builtin/checkout.c          |  4 +--
 builtin/clean.c             |  2 +-
 builtin/commit.c            |  2 +-
 builtin/difftool.c          |  4 +--
 builtin/grep.c              |  6 ++--
 builtin/ls-files.c          | 17 ++++++-----
 builtin/pack-objects.c      |  2 +-
 builtin/reset.c             |  2 +-
 builtin/rm.c                |  2 +-
 builtin/submodule--helper.c |  2 +-
 builtin/update-index.c      |  2 +-
 cache.h                     |  9 +++---
 convert.c                   | 41 ++++++++++++++-----------
 convert.h                   | 61 +++++++++++++++++++++----------------
 diff-lib.c                  |  4 +--
 diff.c                      |  2 +-
 dir.c                       | 27 +++++++++-------
 dir.h                       | 16 ++++++----
 entry.c                     | 10 +++---
 ll-merge.c                  |  4 +--
 merge-recursive.c           |  4 +--
 pathspec.c                  |  2 +-
 preload-index.c             |  3 +-
 read-cache.c                | 19 +++++++-----
 rerere.c                    |  2 +-
 resolve-undo.c              |  5 +--
 revision.c                  |  2 +-
 sha1-file.c                 |  4 +--
 submodule.c                 |  8 ++---
 unpack-trees.c              | 57 +++++++++++++++++++++-------------
 unpack-trees.h              |  4 +--
 userdiff.c                  |  2 +-
 ws.c                        |  2 +-
 wt-status.c                 |  6 ++--
 42 files changed, 255 insertions(+), 194 deletions(-)

-- 
2.18.0.rc0.333.g22e6ee6cdf