docs: Describe using scratch/empty deltas for initial fetches

Came up with a user hitting ratelimiting from S3.
This commit is contained in:
Colin Walters 2021-02-11 21:19:18 +00:00
parent 0485817978
commit 2195a6099b

View File

@ -248,5 +248,26 @@ will have "tombstone markers" added so that you know they were
explicitly deleted, but all content in them (that is not referenced by explicitly deleted, but all content in them (that is not referenced by
a still retained commit) will be garbage collected. a still retained commit) will be garbage collected.
## Generating "scratch" deltas for efficient initial downloads
In general, the happy path for OSTree downloads is via static deltas.
If you are in a situation where you want to download an OSTree
commit from an uninitialized repo (or one with unrelated history), you
can generate "scratch" (aka `--empty` deltas) which bundle all
objects for that commit.
The tradeoff here is increasing server disk space in return
for many fewer client HTTP requests.
For example:
```
$ ostree --repo=/path/to/repo static-delta generate --empty --to=exampleos/x86_64/testing-devel
$ ostree --repo=/path/to/repo summary -u
```
After that, clients fetching that commit will prefer fetching the "scratch" delta if they don't have the original ref.
###### Licensing for this document: ###### Licensing for this document:
`SPDX-License-Identifier: (CC-BY-SA-3.0 OR GFDL-1.3-or-later)` `SPDX-License-Identifier: (CC-BY-SA-3.0 OR GFDL-1.3-or-later)`