tree-walk.c: make tree_entry_interesting() take an index
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sun, 18 Nov 2018 16:47:57 +0000 (17:47 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 19 Nov 2018 01:50:33 +0000 (10:50 +0900)
commit67022e02145b3be774febf38e9dc228ed11e6f25
treec241ae71cd24dce3dbed93d0e5176c583bb77bf7
parente092073d643b17c82d72cf692fbfaea9c9796f11
tree-walk.c: make tree_entry_interesting() take an index

In order to support :(attr) when matching pathspec on a tree,
tree_entry_interesting() needs to take an index (because
git_check_attr() needs it). This is the preparation step for it. This
also makes it clearer what index we fall back to when looking up
attributes during an unpack-trees operation: the source index.

This also fixes revs->pruning.repo initialization that should have
been done in 2abf350385 (revision.c: remove implicit dependency on
the_index - 2018-09-21). Without it, skip_uninteresting() will
dereference a NULL pointer through this call chain

  get_revision(revs)
  get_revision_internal
  get_revision_1
  try_to_simplify_commit
  rev_compare_tree
  diff_tree_oid(..., &revs->pruning)
  ll_diff_tree_oid
  diff_tree_paths
  ll_diff_tree
  skip_uninteresting

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/grep.c
builtin/merge-tree.c
list-objects.c
revision.c
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
unpack-trees.c