Skip to content

repository: Update references atomically in `FetchRemote`

Justin Tobler requested to merge jt-atomic-fetch-remote into master

The FetchRemote RPC fetches a set of refspecs from a remote repository into a target repository. To be atomic, reference updates should only be performed if transaction quorum is achieved with participating repository replicas. Furthermore, when a subset of references diverge, partial reference updates should be applied.

To accommodate this, the FetchRemote RPC now supports quarantining fetched objects and now performs a reference-transaction only on updated references.

Edited by Justin Tobler

Merge request reports