mbox series

[0/7] Parallel Checkout (part 3)

Message ID cover.1619104091.git.matheus.bernardino@usp.br (mailing list archive)
Headers show
Series Parallel Checkout (part 3) | expand

Message

Matheus Tavares April 22, 2021, 3:17 p.m. UTC
This is the last part of the parallel checkout series :) I have a couple
other small optimization and tuning ideas for later but, with this part,
the main functionality should be now complete.

This is based on mt/parallel-checkout-part-2.

The first three patches add parallel checkout support for three
codepaths that could not use the parallel mode yet:

- git checkout-index
- git checkout --patch
- git checkout <pathspec>

All these three call `checkout_entry()` directly instead of
`unpack_trees()`, so we need to enable parallel checkout on them before
they call `checkout_entry()`.

The four remaining patches add tests for the parallel checkout
framework.

Matheus Tavares (7):
  make_transient_cache_entry(): optionally alloc from mem_pool
  builtin/checkout.c: complete parallel checkout support
  checkout-index: add parallel checkout support
  parallel-checkout: add tests for basic operations
  parallel-checkout: add tests related to path collisions
  parallel-checkout: add tests related to .gitattributes
  ci: run test round with parallel-checkout enabled

 builtin/checkout--worker.c              |   2 +-
 builtin/checkout-index.c                |  24 +--
 builtin/checkout.c                      |  20 ++-
 builtin/difftool.c                      |   2 +-
 cache.h                                 |  11 +-
 ci/run-build-and-tests.sh               |   1 +
 parallel-checkout.c                     |  18 +++
 read-cache.c                            |  12 +-
 t/README                                |   4 +
 t/lib-encoding.sh                       |  25 +++
 t/lib-parallel-checkout.sh              |  40 +++++
 t/t0028-working-tree-encoding.sh        |  25 +--
 t/t2080-parallel-checkout-basics.sh     | 150 ++++++++++++++++++
 t/t2081-parallel-checkout-collisions.sh | 162 ++++++++++++++++++++
 t/t2082-parallel-checkout-attributes.sh | 194 ++++++++++++++++++++++++
 unpack-trees.c                          |   2 +-
 16 files changed, 643 insertions(+), 49 deletions(-)
 create mode 100644 t/lib-encoding.sh
 create mode 100644 t/lib-parallel-checkout.sh
 create mode 100755 t/t2080-parallel-checkout-basics.sh
 create mode 100755 t/t2081-parallel-checkout-collisions.sh
 create mode 100755 t/t2082-parallel-checkout-attributes.sh