Repository navigation
Conversation
Signed-off-by: Max Freedom Pollard <[email protected]>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: NVIDIA/multi-storage-client/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 12 included reviews per hour; 10 remain after this review. 📝 WalkthroughWalkthrough
ChangesPath containment behavior
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 2 files. (2 skipped: 2 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
/ok to test 1cbe1d8 |
Description
Path("msc://a/data/file.txt").is_relative_to(Path("msc://b/data"))currently returnsTrue, even though the paths belong to different storage profiles andrelative_to()rejects the same comparison.Check the resolved profile before comparing path components, matching the profile boundary already used by
relative_to()and equality. Same-profile comparisons, local filesystem aliases and unsupported input handling keep their existing behavior.The regression tests configure two local profiles, so they exercise real path resolution without cloud credentials or storage simulators. Both cross-profile cases fail against the previous implementation. The docstring, user guide and release note describe the corrected behavior.
No tracked issue.
Checklist
.release_notes/.unreleased.mdTesting
just multi-storage-client/prepare-toolchainsucceeds, including the native Python/Rust wheel build.just multi-storage-client-docs/buildsucceeds with warnings treated as errors.Broader local checks:
just multi-storage-client/analyzestops at the existing F403 wildcard import incontrib/os/__init__.py;just multi-storage-client/run-unit-testsstops at the simulator setup's GNUmkdir --parentscommand on macOS; the rootjust buildstops becausetreefmtis unavailable. Storage simulators are not installed on this machine. All commands above usedpython-binary=python3where applicable.Summary by CodeRabbit
Bug Fixes
Path.is_relative_to()so paths from different storage profiles returnFalse, even when their internal paths overlap.Falsewithout raising an error.Documentation
Path.is_relative_to()behavior for matching, nested, and cross-profile paths.