HomeSoftware Heritage

loader: Stop materializing full lists of objects to be stored.

Description

loader: Stop materializing full lists of objects to be stored.

Since 43728c596498979cd5083b61e93360b4c2071c31, store_data consumes the entire iterator
of contents, and since 3b97703d7f14e145d6124f1c61f5f283ee8eecf2, it does the same for
other object types.

This causes all the (new) objects of the loaded repository to be loaded
in memory at the same time before being sent to the storage, which can
cause OOM errors.

Instead, with this commit, objects are added one by one to the storage,
which restores the lazy behavior we had before these two commits using
the buffered storage proxy.