fix(exclude): match repo by origin remote name not worktree basename - #72
Merged
Merged
Conversation
Repo exclusion identified the repository by its worktree directory basename (repo.workdir() -> file_name()), so a commit made from a git worktree (basename = lane name, not repo name) never matched the [exclude] list and flooded the Obsidian diary. This blocked clean use of the L49 wt worktree workflow. - resolve canonical identity from the origin remote URL (stable across worktrees) via new repo_name_from_url + canonical_repo_name + current_repo_canonical_name; run_commit_saver now uses the canonical name. Fall back to the workdir basename when there is no origin. - one "claude-src" exclude entry now covers all of its worktrees. - tests: worktree regression (origin name beats basename), URL-form variants + empty/sentinel, no-origin fallback; existing exclusion test switched to the canonical name. Gate: devenv pre-check green (clippy -D warnings + 127 tests + build). Refs: docs/feature/L58-exclude-by-remote/brief.md Co-Authored-By: Vulcan <chess7th@pm.me>
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
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.
Lane L58. Fixes the commit-diary
[exclude]gap found in L57: a commit made from a git worktree was never matched against the exclude list because the repo was identified by the worktree directory basename, so worktree commits flooded the Obsidian diary (blocks the L49wtworkflow).Resolves canonical repo identity from the
originremote URL (stable across all worktrees) instead of the workdir basename; oneclaude-srcentry now covers all its worktrees. Falls back to the workdir basename when there is noorigin.repo_name_from_url,canonical_repo_name,current_repo_canonical_name(src/vim_commit.rs);run_commit_saverswitched to the canonical resolver.devenv shell -- pre-checkgreen — clippy-D warnings, 127 tests, build.Brief:
docs/feature/L58-exclude-by-remote/brief.md