Source Code - Gitaly Touch Points
RPCs
Gitaly is a wrapper around the git
binary, running in a Gitaly Cluster. It provides managed access to the file system housing the git
repositories, using Go Remote Procedure Calls (RPCs). Other functions are access optimization, caching, and a form of pagination against the file system.
The comprehensive Beginner’s guide to Gitaly contributions is focused on making updates to Gitaly, and offers many insights into how to understand the Gitaly code.
All access to Gitaly from other parts of GitLab are through Create: Source Code endpoints:
The Commit
model
After a call is made to Gitaly, Git commit
information is stored in memory. This information is wrapped by the Ruby Commit
Model, which is a wrapper around Gitlab::Git::Commit
.
The Commit
model acts like an ActiveRecord object, but it does not have a PostgreSQL backend. Instead, it maps back to Gitaly RPCs.