builtin/checkout.c: complete parallel checkout support
commit60539506329d60c80610ccbbfe1d18c746c4ae52
authorMatheus Tavares <matheus.bernardino@usp.br>
Tue, 4 May 2021 16:27:29 +0000 (4 13:27 -0300)
committerJunio C Hamano <gitster@pobox.com>
Wed, 5 May 2021 03:26:33 +0000 (5 12:26 +0900)
tree5cc0699e20e71605f639ee64de6ab08a56a3cca0
parent96168827802b08c4adf2a036594ab235b2c5630f
builtin/checkout.c: complete parallel checkout support

Pathspec-limited checkouts (like `git checkout *.txt`) are performed by
a code path that doesn't yet support parallel checkout because it calls
checkout_entry() directly, instead of unpack_trees(). Let's add parallel
checkout support for this code path too.

The transient cache entries allocated in checkout_merged() are now
allocated in a mem_pool which is only discarded after parallel checkout
finishes. This is done because the entries need to be valid when
run_parallel_checkout() is called.

Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/checkout.c