From caf388caa101be90b7ec43d7f78ca4e935fc0150 Mon Sep 17 00:00:00 2001 From: Derrick Stolee Date: Thu, 9 Apr 2020 13:00:11 +0000 Subject: [PATCH] bloom: ignore renames when computing changed paths The changed-path Bloom filters record an entry in the filter for every path that was changed. This includes every add and delete, regardless of whether a rename was detected. Detecting renames causes significant performance issues, but also will trigger downloading missing blobs in partial clone. The simple fix is to disable rename detection when computing a changed-path Bloom filter. This should already be disabled by default, but it is good to explicitly enforce the intended behavior. Signed-off-by: Derrick Stolee Signed-off-by: Junio C Hamano --- bloom.c | 1 + 1 file changed, 1 insertion(+) diff --git a/bloom.c b/bloom.c index c5b461d1cf..dd9bab9bbd 100644 --- a/bloom.c +++ b/bloom.c @@ -189,6 +189,7 @@ struct bloom_filter *get_bloom_filter(struct repository *r, repo_diff_setup(r, &diffopt); diffopt.flags.recursive = 1; + diffopt.detect_rename = 0; diffopt.max_changes = max_changes; diff_setup_done(&diffopt); -- 2.11.4.GIT