commit-graph: add dedicated GRPC for commit-graph
Aim to address #2680 (closed)
Commit graph is a metadata file that store the topology of a git repository commits.
Git/Gitlab relies on commit-graph to speed up various operations (i.e. git log
)
and without it, service degraded badly
Currently Gitlab mostly relies on git -c gc.writeCommitGraph gc
to
update commit-graph file. Problem arise when you want to update the
commit-graph in a different granularity vs garbage collection. This
becomes more relevant with the upcoming Bloom filter feature added in
commit-graph format.
In this patch, I introduce the initial implementation of basic git commit-graph write
call via GRPC so that we can start decouple this
logic away from git gc
.
Edited by GitLab Release Tools Bot