This repository has been archived by the owner on Nov 3, 2023. It is now read-only.
Check tree cache staleness and invalidate entries automatically #32
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.
Closes #29.
This is based on #27 since it depends on the lazy loading behavior, so there are a bunch of extra commits in here, but I can rebase this if/when #27 is merged.
The main idea is to move the global
Tree
cache intoRepository
, and check the staleness of cache entries whenever aTree
is requested. We could theoretically cache trees based on their SHAs rather than their commit-ishes, but then you could wind up with a cache that grows forever - if you keep requesting themaster
tree but cache individual commits, you'll end up caching every commit asmaster
changes, even though the caller isn't interested in those old commits.