lib/pull: Avoid error if current with --require-static-deltas
A tricky thing here that caused this to go past a lot of our tests is that the code was mostly OK if there was an available delta from an older commit. But this case broke if we e.g. had a new OS deployment and did a `--require-static-deltas` pull, i.e. the initial state. I cleaned up our "find static delta state" function to return an enumeration, and extended it with an "already have the commit" state. A problem I then hit is that we've historically fetched detached metadata for non-delta pulls, even if the commit hasn't changed. I decided not to do that for `--require-static-deltas` pulls for now; otherwise the code gets notably more complex. Closes: https://github.com/ostreedev/ostree/issues/1321 Closes: #1323 Approved by: jlebon
This commit is contained in:
1 parent
7296bf3dcc
commit
015513b8f9
2 files changed
+102
-23
No files matched your search
@@ -381,6 +381,12 @@ fi
|
||||
${CMD_PREFIX} ostree --repo=repo fsck
|
||||
done
|
||||
|
||||
# Test no-op with deltas: https://github.com/ostreedev/ostree/issues/1321
|
||||
cd ${test_tmpdir}
|
||||
repo_init --no-gpg-verify
|
||||
${CMD_PREFIX} ostree --repo=repo pull origin main
|
||||
${CMD_PREFIX} ostree --repo=repo pull --require-static-deltas origin main
|
||||
|
||||
cd ${test_tmpdir}
|
||||
repo_init --no-gpg-verify
|
||||
${CMD_PREFIX} ostree --repo=repo pull origin main@${prev_rev}
|
||||
|
||||
Reference in new issue
Block a user