add git ref storage for older API versions #38
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.
When enabled, older (non-latest) blessed API versions are stored as
.gitreffiles containing acommit:pathreference instead of the fullJSON content. This allows Git to detect new API versions as renames. (The format is designed to be fed into
git show).The git ref uses the first commit that introduced the file (not the current merge-base) to ensure references remain stable as history evolves.
Git ref storage is disabled by default. Enable with
ManagedApis::with_git_ref_storage(), or per-API withManagedApi::use_git_ref_storage().Demo in Omicron:
For more information, see RFD 634.
TODO:
allow per-version customization of gitref storage (useful when particular fixed versions are special in some way)will do this when we need it