Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor Omnicache to improve performance, handle tags better, and remove internal yaml config file. Omnicache version 0.11 design notes: 1. Only a single remote per URL will be permitted. 2. Remote names inside omnicache will be UUIDs generated when a new URL is added. 3. Users may specify names for remotes, but they will be treated simply as "display names" without git significance. 4. As many objects as possible will be cached for any given remote; so all remotes will fetch tags. 4a. To avoid tag name collisions between remotes, tags will be fetched into per-remote namespaces. 5. Older omnicaches will be updated to meet the above design points when first encountered by the script. 5a. This implementation takes care that the underlying git construction is compatible (but not performant) when an older omnicache interacts with it. Older omnicache should not crash when encountering a newer omnicache directory but may take a lot of slow and unecessary actions to "re-initialize" it.
- Loading branch information