diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-05-01 23:39:53 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-05-01 23:39:53 +0300 |
commit | 9b6606f43d55bbf33b9924d16e02e60e1c09660a (patch) | |
tree | 0082094df8d1e99873fa1e72628fa4e02ec3a282 /revision.h | |
parent | cf054f817a30cf4a6531548f52cd7d5cbed6f4fc (diff) | |
parent | caf388caa101be90b7ec43d7f78ca4e935fc0150 (diff) |
Merge branch 'gs/commit-graph-path-filter'
Introduce an extension to the commit-graph to make it efficient to
check for the paths that were modified at each commit using Bloom
filters.
* gs/commit-graph-path-filter:
bloom: ignore renames when computing changed paths
commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
t4216: add end to end tests for git log with Bloom filters
revision.c: add trace2 stats around Bloom filter usage
revision.c: use Bloom filters to speed up path based revision walks
commit-graph: add --changed-paths option to write subcommand
commit-graph: reuse existing Bloom filters during write
commit-graph: write Bloom filters to commit graph file
commit-graph: examine commits by generation number
commit-graph: examine changed-path objects in pack order
commit-graph: compute Bloom filters for changed paths
diff: halt tree-diff early after max_changes
bloom.c: core Bloom filter implementation for changed paths.
bloom.c: introduce core Bloom filter constructs
bloom.c: add the murmur3 hash implementation
commit-graph: define and use MAX_NUM_CHUNKS
Diffstat (limited to 'revision.h')
-rw-r--r-- | revision.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/revision.h b/revision.h index c1af164b30..93491b79d4 100644 --- a/revision.h +++ b/revision.h @@ -59,6 +59,8 @@ struct repository; struct rev_info; struct string_list; struct saved_parents; +struct bloom_key; +struct bloom_filter_settings; define_shared_commit_slab(revision_sources, char *); struct rev_cmdline_info { @@ -296,6 +298,15 @@ struct rev_info { struct revision_sources *sources; struct topo_walk_info *topo_walk_info; + + /* Commit graph bloom filter fields */ + /* The bloom filter key for the pathspec */ + struct bloom_key *bloom_key; + /* + * The bloom filter settings used to generate the key. + * This is loaded from the commit-graph being used. + */ + struct bloom_filter_settings *bloom_filter_settings; }; int ref_excluded(struct string_list *, const char *path); |