소스 코드 - Gitaly 터치 포인트

RPCs

Gitaly는 git 바이너리 주위에 감싸인(wrapper) 것으로, Gitaly 클러스터에서 실행됩니다.

이는 Go 원격 프로시저 호출(RPCs)을 사용하여 git 저장소를 보관하고 있는 파일 시스템에 대한 관리된 액세스를 제공합니다.

다른 기능으로는 액세스 최적화, 캐싱 및 파일 시스템에 대한 일종의 페이지 매김이 있습니다.

광범위한 Gitaly 기여를 위한 초보자 가이드는 Gitaly에 대한 업데이트를 만드는 데 초점을 맞추고 있으며, Gitaly 코드를 이해하는 데 많은 통찰력을 제공합니다.

GitLab의 다른 부분에서 Gitaly로의 모든 액세스는 Create: Source Code 엔드포인트를 통해 이루어집니다:

Commit 모델

Gitaly로 호출이 이루어진 후, Git commit 정보는 메모리에 저장됩니다.

이 정보는 루비 Commit 모델로 감싸져 있으며, 이는 Gitlab::Git::Commit 주위에 감싸인(wrapper) 것입니다.

Commit 모델은 ActiveRecord 객체처럼 작동하지만, PostgreSQL 백엔드는 없습니다.

대신, Gitaly RPCs에 매핑됩니다.