More private path fixes - #488
Merged
Merged
Conversation
why: fmt still leaked full config paths when reporting results, unlike other CLI commands. what: - cache a PrivatePath display string inside format_single_config - use the redacted form for not-found, already formatted, issue summary, and success logs - emit PrivatePath entries for fmt --all config listings
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #488 +/- ##
==========================================
+ Coverage 78.52% 78.81% +0.29%
==========================================
Files 14 14
Lines 1937 1940 +3
Branches 404 404
==========================================
+ Hits 1521 1529 +8
+ Misses 271 267 -4
+ Partials 145 144 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
why: new PrivatePath output needs regression coverage, and integration tests previously looked for absolute tmp paths. what: - import PrivatePath and assert fmt logs collapse home dir - add dedicated test ensuring successful write logs use PrivatePath - adjust fmt --all fixture to run within the fake home directory and expect redacted paths
why: add_repo raised exception logs with absolute config paths when the existing file wasn't a mapping. what: - reuse display_config_path in the TypeError handler so logs show ~/.vcspull.yaml instead of /home/... - add regression test forcing a list-based config and asserting the log contains the PrivatePath value
why: discover still logged absolute directories when skipping repos without remotes or when no repositories were found. what: - wrap repo_path/item and scan_dir in PrivatePath for warning/info logs - capture this behavior with a new test that forces missing remotes via monkeypatch and asserts the log text uses the tilde forms
why: the human-mode "Synced ... -> PATH" line still printed absolute repo directories even though structured events were redacted. what: - compute a display_repo_path once per repo and use it for both JSON payloads and human logs - add a focused sync test that stubs the data pipeline and asserts the stdout text contains the tilde-collapsed path
tony
force-pushed
the
more-private-paths
branch
from
November 15, 2025 18:58
bb87f04 to
76def59
Compare
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.
Bug fixes
Path privacy improvements
Path privacy added to:
vcspull fmt: summary banners, success logs, and--alllistings cache thePrivatePathdisplay value so config paths always render as~/.vcspull.yaml.vcspull add: invalid-config errors reuse the redacted path, keeping failurelogs consistent with other config operations.
vcspull discover: warnings for repos without remotes and "no repos found"notices collapse their target directories via
PrivatePath.vcspull sync: human "Synced …" lines now mirror the structured JSON payloadsby showing tilde-collapsed repository paths.