diff options
| author | Derrick Stolee <dstolee@microsoft.com> | 2020-04-09 13:00:11 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2020-04-09 11:04:35 -0700 |
| commit | caf388caa101be90b7ec43d7f78ca4e935fc0150 (patch) | |
| tree | ddb2c2a65d6994420c076140600c568a7740429b | |
| parent | commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag (diff) | |
| download | git-caf388caa101be90b7ec43d7f78ca4e935fc0150.tar.gz git-caf388caa101be90b7ec43d7f78ca4e935fc0150.zip | |
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>
| -rw-r--r-- | bloom.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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); |
