Skip to content

Reset .gitignore inheritance at nested repositories - #1303

Merged
thekevinscott merged 14 commits into
mainfrom
claude/1286-nested-repo
Oct 5, 2026
Merged

thekevinscott merged 14 commits into
mainfrom
claude/1286-nested-repo

Conversation

@thekevinbot

@thekevinbot thekevinbot commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Reset inherited .gitignore frames when a path-table walk enters a nested repository, matching Git's ignore boundary. A nested repository's files are no longer hidden by the outer repository's rules.

Restore the TypeScript e2e gate's directory-only extra-scope after the package-root Cargo manifest moved on main; the verifier rejects file paths.

Fixes #1286

Test plan

  • Red commit a6a8048: CI Rust Integration tests failed on query_glob_does_not_apply_outer_gitignore_inside_nested_repo with left: [], right: [{"path": "repo/z.log"}].
  • Regression and boundary tests pass, including entry from a non-repo and restoration of outer ignore context after nested descent.
  • Hand check against Git: both ./** and ./repo/*.log return repo/z.log from both outer layouts, matching nested git ls-files --others --exclude-standard.
  • Required gated preflight: 0 failures, 3 packaging skips.

E2E Verification

  • Ran e2e suites locally for every affected SDK
  • Python SDK e2e: pass (40 passed)
  • TypeScript SDK e2e: pass (18 passed after the manifest move)
  • Rust core e2e: pass (cargo test --workspace --features cli -- --test-threads=1; parallel run hit the host's open-file limit in two unrelated watcher tests)
  • packages/python/e2e-attestations/claude-1286-nested-repo.json receipt written
  • packages/ts/e2e-attestations/claude-1286-nested-repo.json receipt written
  • Command(s) run: cargo test --workspace --features cli -- --test-threads=1; just e2e-attest-python; just e2e-attest-ts
  • Result summary: all serial Rust workspace tests passed; Python 40 passed; TypeScript 18 passed.

Changelog / Migrations

  • packages/rust/changelog.d/2026-10-05-nested-repo-gitignore.md
  • packages/rust/migrations.d/2026-10-05-nested-repo-gitignore.md
  • TypeScript CI-only config correction: skip-changelog: reason in commit 9c03149; published behavior is unchanged.

@thekevinbot thekevinbot changed the title test: cover nested repository gitignore reset Reset .gitignore inheritance at nested repositories Oct 5, 2026
@thekevinscott
thekevinscott merged commit b951767 into main Oct 5, 2026
91 checks passed
@thekevinscott
thekevinscott deleted the claude/1286-nested-repo branch October 5, 2026 22:38
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.

Path-table walk keeps applying an outer .gitignore inside a nested repo; git resets at .git

2 participants