Skip to content

pr-839/derrickstolee/more-index-cleanups-v2

This is based on ds/cache-tree-basics.

Here are a few more cleanups that are vaguely related to the index. I
discovered these while preparing my sparse-index RFC that I intend to send
early next week.

The biggest patch is the final one, which creates a test script for
comparing sparse-checkouts to full checkouts. There are some commands that
do not behave similarly. This script will be the backbone of my testing
strategy for the sparse-index by adding a new mode to compare
sparse-checkouts with the two index types (full and sparse).

UPDATES IN V2
=============

 * Fixed duplicated test in t1092.

 * Changed the implementation of 'test_region' after I discovered the
   negation doesn't work correctly. (I updated the test to use what was in
   t0500-progress-display.sh at the last minute before v1, but that
   implementation was wrong.) The use of it in t0500-progress-display.sh was
   incorrect, as well.

 * Updated commit messages to be more informative and have fewer typos.

 * I dropped the patch that placed the sparse-checkout patterns in struct
   index_state. I'll re-introduce that in time for the actual use of the
   member.

Thanks, -Stolee

Derrick Stolee (8):
  cache-tree: clean up cache_tree_update()
  cache-tree: extract subtree_pos()
  fsmonitor: de-duplicate BUG()s around dirty bits
  repository: add repo reference to index_state
  name-hash: use trace2 regions for init
  sparse-checkout: load sparse-checkout patterns
  test-lib: test_region looks for trace2 regions
  t1092: test interesting sparse-checkout scenarios

 builtin/sparse-checkout.c                |   5 -
 cache-tree.c                             |  20 +-
 cache-tree.h                             |   2 +
 cache.h                                  |   1 +
 dir.c                                    |  17 ++
 dir.h                                    |   2 +
 fsmonitor.c                              |  27 +-
 name-hash.c                              |   3 +
 repository.c                             |   4 +
 t/t0500-progress-display.sh              |   3 +-
 t/t1092-sparse-checkout-compatibility.sh | 298 +++++++++++++++++++++++
 t/test-lib-functions.sh                  |  40 +++
 unpack-trees.c                           |   6 +-
 13 files changed, 394 insertions(+), 34 deletions(-)
 create mode 100755 t/t1092-sparse-checkout-compatibility.sh

base-commit: a4b6d202caad83c6dc29abe9b17e53a1b3fb54a0

Submitted-As: https://lore.kernel.org/git/pull.839.v2.git.1611320639.gitgitgadget@gmail.com
In-Reply-To: https://lore.kernel.org/git/pull.839.git.1611161639.gitgitgadget@gmail.com
Assets 2