Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0 of recursive deltas #470

Open
cgwalters opened this issue Aug 25, 2016 · 3 comments
Open

v0 of recursive deltas #470

cgwalters opened this issue Aug 25, 2016 · 3 comments

Comments

@cgwalters
Copy link
Member

The deltas code/design supports recursion, but we didn't really follow through implementing this. There's both client side and compiler work for this.

The goal should be that we support upgrading from both N-2 and N-1 to N reasonably.

@gatispaeglis
Copy link
Contributor

+1 This is a feature I would like to see in the upcoming ostree releases. I am wondering if this is something that could be available in a near future or is it low in the priority list?

@cgwalters
Copy link
Member Author

We can also do client-side delta chaining; the main issue is it would make the already-past-its-complexity-budget pull code even more complex. But perhaps not unreasonably so, particularly if we started to spit ostree-repo-pull.costree-repo-pull-loose.c and ostree-repo-pull-deltas.c or so.

In the short term, I'm thinking more ostreedev/ostree-releng-scripts#10

@sinnykumari
Copy link
Collaborator

Any plan to fully support applying recursive deltas on client side? This will be useful where we want to rely on deltas only repos (like FCOS mirroring fedora-infra/mirrormanager2#258 ).

I was trying locally to pull ostree content using delta-only repo.

  1. Created static delta from scratch for commit C1
  2. client side pull works fine with option --require-static-deltas and pulls in C1
  3. Created static delta from commit C1 to C2
  4. Client side pull to C2 works fine when client side repo is already on C1
  5. Client side pull gives error if client wants to pull directly C2 from an empty repo . (error: Static deltas required, but none found for BRANCH to C2)
  6. Similarly, consider more commits like C3 and C4 and we have created incremental delta from C2 to C3 and then C3 to C4. Client can't update from C2 to C4 because there is no direct static delta from C2 to C4

It will be nice if ostree can apply recursive delta on client side so that we don't have to really create static delta for all permutations (which will grow as the project grows).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants