Skip to content

Git - second attempt to adopt the @vscode/fs-copyfile package#301443

Merged
lszomoru merged 6 commits intomainfrom
lszomoru/git-cow-attempt2
Mar 16, 2026
Merged

Git - second attempt to adopt the @vscode/fs-copyfile package#301443
lszomoru merged 6 commits intomainfrom
lszomoru/git-cow-attempt2

Conversation

@lszomoru
Copy link
Member

No description provided.

Copilot AI review requested due to automatic review settings March 13, 2026 10:32
@lszomoru lszomoru enabled auto-merge (squash) March 13, 2026 10:33
@lszomoru lszomoru self-assigned this Mar 13, 2026
@lszomoru lszomoru added this to the 1.112.0 milestone Mar 13, 2026
@lszomoru lszomoru added the git GIT issues label Mar 13, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the built-in Git extension to use the @vscode/fs-copyfile package for copying “worktree include” files when creating a new worktree, and adjusts the build/packaging pipeline so the new runtime dependency is shipped correctly.

Changes:

  • Switch worktree include-file copying to @vscode/fs-copyfile and refactor the path selection logic.
  • Add @vscode/fs-copyfile as a dependency and externalize it in the Git extension’s esbuild config.
  • Update the built-in extension packaging logic to include esbuild externals, and mark git as a native extension for platform-specific packaging.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
extensions/git/src/repository.ts Uses @vscode/fs-copyfile and changes how ignored/include paths are computed and copied into new worktrees.
extensions/git/package.json Adds @vscode/fs-copyfile dependency.
extensions/git/package-lock.json Locks @vscode/fs-copyfile (and node-addon-api) into the extension’s dependency graph.
extensions/git/esbuild.mts Marks @vscode/fs-copyfile as an esbuild external for runtime resolution.
build/lib/extensions.ts Ensures externally-required runtime deps are included when packaging esbuild-built built-in extensions; marks git as native.
Files not reviewed (1)
  • extensions/git/package-lock.json: Language not supported

You can also share your feedback on Copilot code review. Take the survey.

bpasero
bpasero previously approved these changes Mar 13, 2026
@bpasero
Copy link
Member

bpasero commented Mar 13, 2026

@lszomoru conflicts

@lszomoru lszomoru merged commit c3b9417 into main Mar 16, 2026
21 checks passed
@lszomoru lszomoru deleted the lszomoru/git-cow-attempt2 branch March 16, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

git GIT issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants