repo: Add an API for intercepting file commits and returning cached v… #114
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…alues
Many people have observed that doing:
is slow. There are a number of ways to optimize this. What
gnome-continuous does is to store separate subtrees for each
component, and union them. Then on commit, it uses a reverse
(device,inode) -> checksum mapping to avoid re-checksumming subtrees
that haven't changed.
For rpm-ostree, doing this sort of thing with RPM is...hard. It would
require changing how RPM writes to disk. One thing we can do is
support external cache mechanisms. And specifically one optimization
rpm-ostree can make is to create a mapping from
`(rpm version, filename) -> object checksum between the two trees.