pull: Add require-static-deltas pull option

For a production release repository, most OS vendors would want
to just always use static deltas.  Add the ability for the pulls to
require it.

(I think I'll also add a summary key for this actually in addition,
 so the repo manager can force it too)
This commit is contained in:
Colin Walters committed 2016-02-19 15:21:13 -05:00
1 parent eba7df0da9
commit f2c5ecb996
3 files changed
+42 -1

No files matched your search

+19 -1
View File
@@ -106,12 +106,18 @@ cd ..
rm main-files -rf
# Generate delta that we'll use
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo static-delta generate main
prev_rev=$(ostree --repo=ostree-srv/gnomerepo rev-parse main^)
ostree --repo=ostree-srv/gnomerepo summary -u
cd ${test_tmpdir}
${CMD_PREFIX} ostree --repo=repo pull origin main
repo_init
${CMD_PREFIX} ostree --repo=repo pull origin main@${prev_rev}
${CMD_PREFIX} ostree --repo=repo pull --require-static-deltas origin main
${CMD_PREFIX} ostree --repo=repo fsck
cd ${test_tmpdir}
repo_init
${CMD_PREFIX} ostree --repo=repo pull origin main@${prev_rev}
${CMD_PREFIX} ostree --repo=repo pull --disable-static-deltas origin main
${CMD_PREFIX} ostree --repo=repo fsck
@@ -124,6 +130,16 @@ assert_not_has_file baz/saucer
echo "ok static delta"
cd ${test_tmpdir}
rm ostree-srv/gnomerepo/deltas -rf
ostree --repo=ostree-srv/gnomerepo summary -u
repo_init
if ${CMD_PREFIX} ostree --repo=repo pull --require-static-deltas origin main 2>err.txt; then
assert_not_reached "--require-static-deltas unexpectedly succeeded"
fi
assert_file_has_content err.txt "deltas required, but none found"
${CMD_PREFIX} ostree --repo=repo fsck
cd ${test_tmpdir}
rm main-files -rf
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo checkout main main-files
@@ -134,6 +150,7 @@ cd ..
rm main-files -rf
# Generate new delta that we'll use
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo static-delta generate --inline main
ostree --repo=ostree-srv/gnomerepo summary -u
cd ${test_tmpdir}
${CMD_PREFIX} ostree --repo=repo pull origin main
@@ -157,6 +174,7 @@ ${CMD_PREFIX} ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo commit -b main -
cd ..
rm main-files -rf
${CMD_PREFIX} ostree --repo=ostree-srv/gnomerepo static-delta generate main
ostree --repo=ostree-srv/gnomerepo summary -u
cd ${test_tmpdir}
${CMD_PREFIX} ostree --repo=repo pull origin main