@matheusbsbs / matheus-bagliano / commits / caf388caa1
Fork 0

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 <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Derrick Stolee committed Apr 9, 2020 at 13:00 UTC caf388caa101be90b7ec43d7f78ca4e935fc0150
1 file changed +1
bloom.c
+1
@@ -189,6 +189,7 @@ struct bloom_filter *get_bloom_filter(struct repository *r,
189
190 repo_diff_setup(r, &diffopt);
191 diffopt.flags.recursive = 1;
192 + diffopt.detect_rename = 0;
193 diffopt.max_changes = max_changes;
194 diff_setup_done(&diffopt);
195