Skip to content

fix(pass): respect scoped .gpg-id during initialization - #499

Merged
pando85 merged 16 commits into
masterfrom
fix/pass-scope-initialization
Sep 21, 2026
Merged

pando85 merged 16 commits into
masterfrom
fix/pass-scope-initialization

Conversation

@pando85

@pando85 pando85 commented Sep 20, 2026

Copy link
Copy Markdown
Owner

Fixes #491

Keep Passless's automatic type-state backend initialization, but separate the password-store/Git root from the configured Passless scope.

  • derive the scope from the existing store_path + path; no new user configuration
  • check the effective .gpg-id from the Passless scope up to the store root
  • inherit an existing ancestor recipient policy
  • create a new .gpg-id only at the configured scope when no policy applies
  • keep Git initialization at the password-store root
  • stage the actual scope-relative .gpg-id
  • add coverage for scope override, ancestor inheritance, and unrelated subtrees

This deliberately leaves the unrelated recipient-parser findings from #491 out of this PR. In particular, the GnuPG ! suffix has real semantics and the broader accepted recipient grammar deserves a separate compatibility change rather than being mixed into initialization.

@forkline-bot

forkline-bot Bot commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

Fix pushed:

Fixed the clippy ptr_arg error by changing gpg_id_path: &PathBuf to gpg_id_path: &Path in cmd/passless/src/storage/pass/init/store_initialized.rs:41, and added the use std::path::Path; import. Pushed to fix/pass-scope-initialization.

@pando85
pando85 merged commit addb647 into master Sep 21, 2026
8 checks passed
@pando85
pando85 deleted the fix/pass-scope-initialization branch September 21, 2026 04:54
@forkline-bot forkline-bot Bot mentioned this pull request Sep 21, 2026
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.

Store initialization ignores hierarchical  .gpg-id  and passless's own scope

1 participant