Skip to content

Add {Get,CreateRepositoryFrom}Snapshot RPCs

Nick Thomas requested to merge (removed):add-raw-archive-rpcs into master

Some really big repositories can't be sensibly cloned from the empty state using git. To get around the problem, we introduce a privileged endpoint allowing an uncompressed tar archive of the repository directory to be downloaded. This functions as a snapshot of current state.

We also introduce an endpoint which causes gitaly to download and unpack such a snapshot to a specified location.

By using the latter on a Geo secondary, and the former on a Geo primary, we can synchronize large, complex or corrupted repositories directly, without needing them to be understandable / processable by git.

Related to gitaly#990 (closed)

Edited by Nick Thomas

Merge request reports