From: Derrick Stolee Date: Thu, 9 Apr 2020 13:00:11 +0000 (+0000) Subject: bloom: ignore renames when computing changed paths X-Git-Tag: v2.27.0-rc0~58^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=caf388caa101be90b7ec43d7f78ca4e935fc0150;p=thirdparty%2Fgit.git 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 --- 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);