Skip to content

fix(project): use worktree paths for project ids#23866

Open
tinywind wants to merge 12 commits intoanomalyco:devfrom
tinywind:bugfix/project-id-by-worktree
Open

fix(project): use worktree paths for project ids#23866
tinywind wants to merge 12 commits intoanomalyco:devfrom
tinywind:bugfix/project-id-by-worktree

Conversation

@tinywind
Copy link
Copy Markdown

@tinywind tinywind commented Apr 22, 2026

Issue for this PR

Closes #23868

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

OpenCode currently derives git project IDs from shared repository history, so separate clones with the same root commit collapse into one project and share sessions.

This change derives the project ID from the canonical worktree directory instead. That keeps git worktree sandboxes grouped under the same project while giving independent clones different IDs even when they share history.

The tests were updated to cover three cases: independent clones now split correctly, worktrees still share a project, and global-to-git migration follows the new directory-based ID.

How did you verify your code works?

  • Ran bun test test/project/project.test.ts test/project/migrate-global.test.ts test/server/project-init-git.test.ts
  • Ran bun typecheck
  • Started an isolated serve instance with separate XDG_* and HOME paths and verified that digiwill-edugate and digwill-edugate-jbon now return different project IDs despite sharing the same root commit

Screenshots / recordings

N/A

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

@github-actions github-actions Bot added needs:compliance This means the issue will auto-close after 2 hours. needs:issue labels Apr 22, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@github-actions github-actions Bot removed needs:compliance This means the issue will auto-close after 2 hours. needs:issue labels Apr 22, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Thanks for updating your PR! It now meets our contributing guidelines. 👍

@tinywind
Copy link
Copy Markdown
Author

pr-management / check-duplicates appears to have failed due to a timeout rather than an actual duplicate match.

The required pull_request workflows also look blocked in action_required and have not started yet:

  • test
  • typecheck
  • nix-eval

Could a maintainer approve the pending workflows and re-run pr-management / check-duplicates?

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.

Project ID collision when independent clones share a root commit

5 participants