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>
This commit is contained in:
parent
d5b873c832
commit
caf388caa1
1
bloom.c
1
bloom.c
@ -189,6 +189,7 @@ struct bloom_filter *get_bloom_filter(struct repository *r,
|
|||||||
|
|
||||||
repo_diff_setup(r, &diffopt);
|
repo_diff_setup(r, &diffopt);
|
||||||
diffopt.flags.recursive = 1;
|
diffopt.flags.recursive = 1;
|
||||||
|
diffopt.detect_rename = 0;
|
||||||
diffopt.max_changes = max_changes;
|
diffopt.max_changes = max_changes;
|
||||||
diff_setup_done(&diffopt);
|
diff_setup_done(&diffopt);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user