]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'mt/parallel-checkout-part-3'
authorJunio C Hamano <gitster@pobox.com>
Sun, 16 May 2021 12:05:23 +0000 (21:05 +0900)
committerJunio C Hamano <gitster@pobox.com>
Sun, 16 May 2021 12:05:23 +0000 (21:05 +0900)
The final part of "parallel checkout".

* mt/parallel-checkout-part-3:
  ci: run test round with parallel-checkout enabled
  parallel-checkout: add tests related to .gitattributes
  t0028: extract encoding helpers to lib-encoding.sh
  parallel-checkout: add tests related to path collisions
  parallel-checkout: add tests for basic operations
  checkout-index: add parallel checkout support
  builtin/checkout.c: complete parallel checkout support
  make_transient_cache_entry(): optionally alloc from mem_pool

1  2 
builtin/checkout-index.c
builtin/checkout.c
builtin/difftool.c
cache.h
ci/run-build-and-tests.sh
read-cache.c
t/README
unpack-trees.c

Simple merge
index 0bf61e6eef6fed12dfbc86e10b54651beb01db1e,99384d5c7aee7aff52fc78e89a84376a55ce4c62..f4cd7747d35dd17fa68758cb86317a2b38c4bcb2
@@@ -369,9 -374,9 +374,13 @@@ static int checkout_worktree(const stru
                               NULL);
  
        enable_delayed_checkout(&state);
 +
+       if (pc_workers > 1)
+               init_parallel_checkout();
 +      /* TODO: audit for interaction with sparse-index. */
 +      ensure_full_index(&the_index);
++
        for (pos = 0; pos < active_nr; pos++) {
                struct cache_entry *ce = active_cache[pos];
                if (ce->ce_flags & CE_MATCHED) {
Simple merge
diff --cc cache.h
Simple merge
Simple merge
diff --cc read-cache.c
Simple merge
diff --cc t/README
index 8eb9e46b1d8a66e49a7c50f22aea966e81ccda54,a194488f2780e34d978d95cf6d79c31e0da4ce01..a8cfd3738727a17ca2d1e110182a9fa206c075db
+++ b/t/README
@@@ -436,9 -436,10 +436,13 @@@ and "sha256"
  GIT_TEST_WRITE_REV_INDEX=<boolean>, when true enables the
  'pack.writeReverseIndex' setting.
  
 +GIT_TEST_SPARSE_INDEX=<boolean>, when true enables index writes to use the
 +sparse-index format by default.
 +
+ GIT_TEST_CHECKOUT_WORKERS=<n> overrides the 'checkout.workers' setting
+ to <n> and 'checkout.thresholdForParallelism' to 0, forcing the
+ execution of the parallel-checkout code.
  Naming Tests
  ------------
  
diff --cc unpack-trees.c
Simple merge