Skip to content

Fix clone checkout without local zcrypt keys#10

Open
koba-e964 wants to merge 5 commits into
mainfrom
codex/fix-clone-smudge
Open

Fix clone checkout without local zcrypt keys#10
koba-e964 wants to merge 5 commits into
mainfrom
codex/fix-clone-smudge

Conversation

@koba-e964

Copy link
Copy Markdown
Owner

Summary

  • replace the local non-committed key-id index with committed git-zcrypt-keys.json manifests
  • pass filtered paths through clean/smudge and authorize smudge by nearest manifest
  • allow manifest-authorized blobs to pass through encrypted when local key material is missing, so clone/checkout can finish
  • add init-manifest, clone/re-smudge coverage, and docs for manifests and recovery

Validation

  • cargo fmt --check
  • cargo test
  • cargo build --release
  • release binary size: 598064 bytes

Why:
- Running git-zcrypt init-manifest from a repository subdirectory still wrote git-zcrypt-keys.json at the worktree root.
- The default path handling contradicted the documented current-directory behavior and made nested manifests awkward to initialize.

What:
- Resolve init-manifest paths relative to the process current directory while still requiring the result to stay inside the worktree.
- Add an integration regression test that runs init-manifest from secrets/team-b and verifies the manifest is created there.

Impact:
- git-zcrypt init-manifest now creates git-zcrypt-keys.json in the current subdirectory by default.
- Verified with cargo fmt --check, cargo test, and cargo build --release.

Prompt:
- git-zcrypt init-manifest in a subdirectory creates in root, whats wrong
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.

1 participant