Replace backup bundles with filesystem archives
Proposal
Creating a git bundle for a repository is slow. This is where most of the backup time is spent. In theory creating a bundle shouldn't be much different than a git-fetch except that repositories on the server typically have orders of magnitude more refs than what users see because of keep-alive refs. Processing these refs alone takes a long time.
Once WAL is introduced and we can guarantee that while taking a backup there will be no other writes to the repository, we should consider archiving the repository filesystem as a replacement to using bundles.
For server-side backups the archive could be created directly. For non-server-side we could use the existing GetSnapshot
RPC.
Edited by James Fargher