Fix spfs info across split local/origin objects - #1401
Open
jrray wants to merge 5 commits into
Open
Conversation
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
When `spfs info /spfs/...` is run against a selected repo, runtime stack entries and child references can legitimately be missing from that repo (for example local-only vs origin-only objects). Treat `UnknownObject` as a non-fatal miss while walking stack and child references, so the command continues searching and reports providers that do exist in the chosen repo. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: J Robert Ray <jrray@imageworks.com>
Add `spfs info --origin-local-fallback` to read objects through a proxy over both local and origin repositories. The selected repo remains primary (`local` by default or `--remote origin`), and the other repo is used as a fallback for missing objects so mixed-runtime stacks no longer fail on unknown objects. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: J Robert Ray <jrray@imageworks.com>
When `spfs info /spfs/...` cannot find a provider and unknown objects were skipped during traversal, print a user-facing hint that extra repositories may be needed and suggest `--origin-local-fallback`. Add a diagnostics variant of runtime path-provider lookup so callers can detect whether unknown objects were encountered while searching. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: J Robert Ray <jrray@imageworks.com>
Rebase the branch onto current main and add targeted tests around new path-provider diagnostics and info hint behavior. The new tests cover the no-active-runtime path lookup failure mode and the hint emission predicate used by `spfs info` when unknown objects were skipped. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: J Robert Ray <jrray@imageworks.com>
jrray
force-pushed
the
spfs-info-cross-repo
branch
from
August 8, 2026 00:56
6128655 to
bab55ed
Compare
Move new test coverage into dedicated `*_test.rs` modules to match project conventions. Replace low-signal branch-only tests with runtime behavior tests that exercise meaningful lookup outcomes: no active runtime, missing stack objects, missing layer manifests, and empty runtime stack handling. Keep the info hint assertion focused on user-visible fallback guidance. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: J Robert Ray <jrray@imageworks.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
spfs infocould fail with unknown-object errors when runtime objects are split across local and origin repositories. This branch now handles that split, adds an explicit fallback mode, and surfaces a user hint when lookup likely needs extra repositories.For example,
spfs info /spfs/path/to/file -r originnow keeps searching when some runtime objects are local-only, andspfs info --origin-local-fallback ...enables primary/fallback reads across local and origin.Summary of changes:
UnknownObjectduring runtime path traversal so lookup continues instead of aborting.spfs info --origin-local-fallbackto read through both local and origin repositories.--origin-local-fallback.