Skip to content

Conversation

@tony
Copy link
Member

@tony tony commented Nov 15, 2025

Bug fixes

Path privacy improvements

Path privacy added to:

  • vcspull fmt: summary banners, success logs, and --all listings cache the
    PrivatePath display value so config paths always render as ~/.vcspull.yaml.
  • vcspull add: invalid-config errors reuse the redacted path, keeping failure
    logs 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 payloads
    by showing tilde-collapsed repository paths.

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
Copy link

codecov bot commented Nov 15, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.81%. Comparing base (6bea3c4) to head (76def59).
⚠️ Report is 9 commits behind head on master.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

tony added 5 commits November 15, 2025 12:58
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 tony force-pushed the more-private-paths branch from bb87f04 to 76def59 Compare November 15, 2025 18:58
@tony tony merged commit 055e31a into master Nov 15, 2025
9 checks passed
@tony tony deleted the more-private-paths branch November 15, 2025 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants