Enable Bloom filter support on WriteCommitGraph gRPC
The flag '--changed-paths' enables Bloom filter for the commit graph.
Closes: #3277 (closed)
I didn't find a way to verify the flag usage, so there are no changes into the test.
I did manual testing on the gitlab repository and got next results:
# no commit graph
$ time git log --oneline master -- file_hooks/examples/save_to_file.rb
fd5448ef0ab Add support for /file_hooks directory
real 0m1.073s
user 0m0.830s
sys 0m0.122s
# create commit graph without bloom filter
$ git commit-graph write --reachable
Expanding reachable commits in commit graph: 267920, done.
$ time git log --oneline master -- file_hooks/examples/save_to_file.rb
fd5448ef0ab Add support for /file_hooks directory
real 0m0.711s
user 0m0.590s
sys 0m0.109s
# create commit graph with bloom filter
$ rm .git/objects/info/commit-graph
$ git commit-graph write --changed-paths --reachable
Expanding reachable commits in commit graph: 267920, done.
Computing commit changed paths Bloom filters: 100% (267920/267920), done.
$ time git log --oneline master -- file_hooks/examples/save_to_file.rb
fd5448ef0ab Add support for /file_hooks directory
real 0m0.269s
user 0m0.186s
sys 0m0.078s
So we got a speed boost for the commit search operations which is a goal here.
Edited by Pavlo Strokov