Skip to content

feat(git): replace isomorphic-git with Effect Git - W-22711959 - #888

Open
mshanemc wants to merge 13 commits into
mainfrom
sm/W-22711959-shadowrepo-effect
Open

mshanemc wants to merge 13 commits into
mainfrom
sm/W-22711959-shadowrepo-effect

Conversation

@mshanemc

Copy link
Copy Markdown
Contributor

What does this PR do?

  • Replace isomorphic-git with an Effect-native Git implementation while keeping the shadow repository at .sf/orgs/<orgId>/localSourceTracking.
  • Replace the ShadowRepo class with a factory and cached, stream-derived added / modified / deleted status; use recordSync for advancing the local baseline.
  • Preserve symlink targets and modes, atomically replace the index, and serialize commit ancestry under the index lock.
  • Migrate the existing worktree changes, including remote tracking and type/name resolution improvements, onto current main dependencies.

Known limitation: stale-lock cleanup is mtime-based (five minutes by default); a competing writer could treat an unusually long live lock as stale.

Validation: yarn build, yarn test, yarn check:effect, and yarn check:circular-deps.

What issues does this PR fix or reference?

forcedotcom/salesforcedx-vscode#7174, forcedotcom/salesforcedx-vscode#7278, @W-22711959@

@mshanemc
mshanemc requested a review from a team as a code owner October 16, 2026 03:54
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