Fix clone checkout without local zcrypt keys - #10
Open
koba-e964 wants to merge 8 commits into
Open
Conversation
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
Why: - Existing encrypted repositories need a planned migration path into committed key manifests. - The implementation needs explicit boundaries before code changes begin. What: - Add research for registering encrypted file key ids into manifests. - Add an implementation plan for register-file behavior, including missing-key warnings and manifest creation. - Add a feature list with scoped boundaries for each task. Impact: - No production code changes. - Planning artifacts are ready for review and explicit implementation approval. Prompt: - To migrate, I need a command that takes an encrypted file and add entry to nearest JSON whenever the key is found.
Why: - The migration plan needed to match the desired interactive workflow for registering existing encrypted files from subdirectories. - The earlier command and manifest-selection design was too verbose and included an unnecessary config default. What: - Rename the planned migration command from register-file to register. - Update the plan for cwd-relative file arguments, --manifest-dir, and multi-file registration. - Remove the rejected register manifest config feature from the implementation tracker. Impact: - No production behavior changes; this updates planning artifacts only. - Validated feature_list.json structure and checked for stale command/config references. Prompt: - To migrate, I need a command that takes an encrypted file and add entry to nearest JSON whenever the key is found. - Added notes
Why: - Existing encrypted worktree files need a migration path into committed key manifests. - Users need cwd-relative paths that match shell completion and an explicit manifest directory override when registering from subdirectories. What: - Add git-zcrypt register [--manifest-dir <dir>] <file>... parsing and dispatch. - Resolve cwd-relative encrypted files to repository-relative manifest paths and update the selected manifest without rewriting files. - Add local key alias lookup by embedded key id, including duplicate-alias detection. - Cover selected manifest updates, multi-file registration, missing-key warnings, and docs. Impact: - Adds a new migration CLI command without changing clean or smudge behavior. - Missing local keys create the selected manifest and warn without adding an entry. - Verified with cargo fmt --check, cargo test, cargo build --release, docs rg check, and release binary size 616256 bytes. Prompt: - To migrate, I need a command that takes an encrypted file and add entry to nearest JSON whenever the key is found. - Thanks. if the current directory is repo/a/b, the encrypted file is repo/a/b/c.secret, and the desired manifest is repo/a/git-zcrypt-keys.json, I'd rather move to repo/a and run git-zcrypt register-file here, giving b/c.secret because it's what auto-completion gives me. Besides, what happens if I want to give multiple files? - Some people might want to maken manifests other than pwd. I want the config for this - Added notes
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.
Summary
Validation