diff options
author | Matheus Tavares <matheus.bernardino@usp.br> | 2021-05-04 13:27:32 -0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-05-05 12:26:36 +0900 |
commit | 6a7bc9d11823239183dd5f6547b13824a6a15fc2 (patch) | |
tree | 0bc96c5f65efb513c8ac0a5f7e614ed647dbf40d /parallel-checkout.c | |
parent | parallel-checkout: add tests for basic operations (diff) | |
download | tgif-6a7bc9d11823239183dd5f6547b13824a6a15fc2.tar.xz |
parallel-checkout: add tests related to path collisions
Add tests to confirm that path collisions are properly detected by
checkout workers, both to avoid race conditions and to report colliding
entries on clone.
Co-authored-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'parallel-checkout.c')
-rw-r--r-- | parallel-checkout.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/parallel-checkout.c b/parallel-checkout.c index 09e8b10a35..6fb3f1e6c9 100644 --- a/parallel-checkout.c +++ b/parallel-checkout.c @@ -8,6 +8,7 @@ #include "sigchain.h" #include "streaming.h" #include "thread-utils.h" +#include "trace2.h" struct pc_worker { struct child_process cp; @@ -326,6 +327,7 @@ void write_pc_item(struct parallel_checkout_item *pc_item, if (dir_sep && !has_dirs_only_path(path.buf, dir_sep - path.buf, state->base_dir_len)) { pc_item->status = PC_ITEM_COLLIDED; + trace2_data_string("pcheckout", NULL, "collision/dirname", path.buf); goto out; } @@ -341,6 +343,8 @@ void write_pc_item(struct parallel_checkout_item *pc_item, * call should have already caught these cases. */ pc_item->status = PC_ITEM_COLLIDED; + trace2_data_string("pcheckout", NULL, + "collision/basename", path.buf); } else { error_errno("failed to open file '%s'", path.buf); pc_item->status = PC_ITEM_FAILED; |