The source project of this merge request has been removed.
Add {Get,CreateRepositoryFrom}Snapshot RPCs
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