소스 코드 - Gitaly 터치 포인트
RPCs
Gitaly는 git
바이너리를 감싼 것으로, Gitaly 클러스터에서 실행됩니다. 이는 Go 원격 프로시저 호출(RPCs)을 사용하여 git
리포지터리를 포함하는 파일 시스템에 관리된 액세스를 제공합니다. 다른 기능으로는 액세스 최적화, 캐싱, 그리고 파일 시스템에 대한 형태의 페이지네이션이 있습니다.
Beginner’s guide to Gitaly contributions는 Gitaly에 대한 업데이트를 중점적으로 다루며, Gitaly 코드를 이해하는 데 많은 통찰을 제공합니다.
GitLab의 다른 부분에서 Gitaly로의 모든 액세스는 Create: Source Code 엔드포인트를 통해 이루어집니다.
Commit
모델
Gitaly에 호출이 이루어진 후, Git commit
정보가 메모리에 저장됩니다. 이 정보는 Ruby Commit
모델에 의해 감싸지며, 이는 Gitlab::Git::Commit
을 감싸는 역할을 합니다.
Commit
모델은 ActiveRecord 객체처럼 동작하지만 PostgreSQL 백엔드가 없습니다. 대신, Gitaly RPC로 매핑됩니다.