compose segment files locally, remove the need for smart servers
Adding 'enhancement' label based on user approval. Existing labels are kept for issue #191.
IIRC, the repo index and the usage of segments is an implementation detail of this k/v store implementation. if we had another backend for kv storage, it could work completely differently (aside from the basic kv operations).
it would be great to have an abstraction for that kv storage... it would help in resolving #102 or generally to make borg extensible to more than the "borg server over SSH" backend. :)
we do have a "generic" k/v API, but the RemoteRepository implementation is expected to respond to way more stuff than just CRUD key/values... it actually has a higher-level implementation with commands like repair and check which is somewhat problematic if we deal with abstract storage backends...
#8332 solved half of this:
- a smart server is not needed any more, any kv store implemented as borgstore backend would do (currently there is sftp as a remote server-less backend)
- we do not compose segment files locally though, but rather store each chunk to a separate object in the store.