Browse Source

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>
maint
Derrick Stolee 5 years ago committed by Junio C Hamano
parent
commit
caf388caa1
  1. 1
      bloom.c

1
bloom.c

@ -189,6 +189,7 @@ struct bloom_filter *get_bloom_filter(struct repository *r, @@ -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);


Loading…
Cancel
Save