repository: Update references atomically in `FetchRemote`
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