summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-02-12 12:26:03 -0500
committerGitHub <noreply@github.com>2021-02-12 12:26:03 -0500
commit35292273fcfd2a1b5bf3bbcf15b45547bc412e7d (patch)
treed2e58d2494751d6bd51543fbea907ac3584fbb31
parent12d246301ffca15e59847eca4ba41e1f1ccf585d (diff)
parent2195a6099b254dcc513e2ee0289eb5d07ad17287 (diff)
downloadostree-35292273fcfd2a1b5bf3bbcf15b45547bc412e7d.tar.gz
Merge pull request #2279 from cgwalters/doc-scratch-delta
docs: Describe using scratch/empty deltas for initial fetches
-rw-r--r--docs/repository-management.md21
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)`