Builds are pinned by refs namespaced by this prefix.
Directory which will hold the cached builds.
Callback interface.
Get name of this cache engine.
Get a list of keys for all cached entries.
Check if an entry with the given key exists.
Get the full file listing for the given cache entry. Forward slashes only.
Add files from a directory. This operation is destructive: the cache implementation is allowed to modify the source directory.
Extract a cache entry to a target directory, with a filter for root files/directories.
Delete a cache entry.
Close the cache. Called after all operations are completed and the cache is no longer immediately needed.
Optimize the cache (minimize disk space). This operation can be very slow (and should display progress).
Verify cache integrity.
Utility function (copy file or directory)
Cache backed by a git repository. Git's packfiles provide an efficient way to store binary files with small differences, however adding and extracting items is a little slower.