diff options
author | Colin Walters <walters@verbum.org> | 2021-02-11 21:19:18 +0000 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2021-02-11 21:19:59 +0000 |
commit | 2195a6099b254dcc513e2ee0289eb5d07ad17287 (patch) | |
tree | 80074a4c1b81890cc855510c30552020dc2e1a40 | |
parent | 0485817978f699cee76ee408d361c8e739ff57c8 (diff) | |
download | ostree-2195a6099b254dcc513e2ee0289eb5d07ad17287.tar.gz |
docs: Describe using scratch/empty deltas for initial fetches
Came up with a user hitting ratelimiting from S3.
-rw-r--r-- | docs/repository-management.md | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/docs/repository-management.md b/docs/repository-management.md index 41b8d2b1..ace150ad 100644 --- a/docs/repository-management.md +++ b/docs/repository-management.md @@ -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 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: `SPDX-License-Identifier: (CC-BY-SA-3.0 OR GFDL-1.3-or-later)` |