Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Commit-graph written with bloom filter helps accelerate many git operations which require directory tree traversal to detect changed paths. However when a commit-graph chain were written, some parts of the chain may not contains the bloom filter data for a set of included commits. To overcome this, validate whether the Bloom filter was added into the chain and potentially rebuild the entire chain if needed. Bloom filter are optional chunks in commit-graph files: BIDX for Bloom filter index and BDAT for Bloom filter data. [1] To check for commit-graph existence in each graph file: - Check whether the graph file contained optional chunks - Among the optional chunks, Check for both BIDX and BDAT existence Unless every graph file in the commit-graph chain contains Bloom filter, rebuild the entire chain. [1]: https://github.com/git/git/blob/ae46588be0cd730430dded4491246dfb4eac5557/Documentation/technical/commit-graph-format.txt#L99
- Loading branch information