Commit Graph

553 Commits

Author SHA1 Message Date
dependabot[bot] cbc25fffb2 build(deps): bump file-type from 16.5.4 to 21.3.1 in /extensions/git (#300597)
* build(deps): bump file-type from 16.5.4 to 21.3.1 in /extensions/git

Bumps [file-type](https://github.com/sindresorhus/file-type) from 16.5.4 to 21.3.1.
- [Release notes](https://github.com/sindresorhus/file-type/releases)
- [Commits](https://github.com/sindresorhus/file-type/compare/v16.5.4...v21.3.1)

---
updated-dependencies:
- dependency-name: file-type
  dependency-version: 21.3.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(git): update file-type import for v21.x API (#301231)

* Initial plan

* fix: update file-type import for v21.x API changes

Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2026-03-12 14:32:40 -07:00
Connor Peet 0a8edf7b2f plugins: allow updating agent plugins (#300344)
* plugins: allow updating agent plugins

Add update detection and update buttons to the agent plugins view and editor.
This allows users to see when installed plugins have newer versions available
and update them directly from the UI without manually checking for updates.

- Export hasSourceChanged() from pluginMarketplaceService for reuse
- Add 'outdated' and 'liveMarketplacePlugin' fields to IInstalledPluginItem
- Fetch marketplace data in AgentPluginsListView.show() to cross-reference
  installed vs live versions and mark outdated plugins
- Add UpdatePluginAction to list view with live marketplace data
- Add UpdatePluginEditorAction to plugin editor with live marketplace data
- Both update actions re-register the plugin with updated metadata after
  successful update so the UI immediately reflects the new version
- Read fresh installed metadata from pluginMarketplaceService.installedPlugins
  store (not stale IAgentPlugin.fromMarketplace) for accurate version checks
- Pass 'silent' option to runInstall() to show non-blocking notification
  instead of dialog when silent=true
- Re-register plugins with live data after updateAllPlugins() completes
  so stored sourceDescriptor reflects new version/ref/sha

(Commit message generated by Copilot)

* pr comments and cleanup

* fix test failure
2026-03-11 04:57:13 +11:00
Connor Peet a4e35e0d69 chat: add support for agent plugin sources (#299081)
* chat: add support for agent plugin sources

- Adds support for agent plugins to reference sources as specified in
  PLUGIN_SOURCES.md, enabling installation from GitHub, npm, pip, and
  other package registries
- Integrates source parsing and validation into the plugin installation
  service and repository service
- Adds comprehensive test coverage for plugin source handling and
  installation from various sources
- Creates PLUGIN_SOURCES.md documentation describing how to specify
  plugin source configurations

(Commit message generated by Copilot)

* comments

* windows fixes and fault handling

* fix tests
2026-03-04 07:20:21 -08:00
Matt Bierner a453d99821 Port git extension to use esbuild
Fixes #296355
2026-02-26 14:10:15 -08:00
Dmitriy Vasyura 0fb77198a8 feat: add AI co-author support for commits (#296435) 2026-02-23 18:57:10 -08:00
Ladislau Szomoru bae323865a Git - add the ability to disable commit signing (#291822) 2026-01-30 11:45:00 -08:00
Ladislau Szomoru dab807f670 Git - expose more options to apply a patch (#291309)
* Git - expose more options to apply a patch

* 💄 Reorder options
2026-01-28 08:29:50 -08:00
Ladislau Szomoru cdc06ed9ac Git - handle case when the repository only contains the main worktree (#288056) 2026-01-15 16:42:07 +00:00
Ladislau Szomoru f5e25ad4ca Git - show main worktree under the Worktrees node (#287564) 2026-01-13 15:38:32 +00:00
Ladislau Szomoru 2c1a2eeb2d Git - fix git diff raw parsing to correctly handle renamed files (#287020) 2026-01-11 18:03:10 +00:00
Ladislau Szomoru d0576dab05 Git - add extension API to get a patch for a commit range (#286159)
* Git - add extension API to get a patch for a commit range

* Turns out `git diff` does not support the `--root` flag
2026-01-06 15:18:53 +00:00
Philipp A. bd4ba7b3a6 fix: set LANGUAGE for Git (#285410)
* fix: set LANGUAGE for Git

---------

Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>
2026-01-05 10:18:54 +00:00
Dmitriy Vasyura be8b8bfdcc Add more stdio checks when spawning git processes. 2026-01-02 16:47:47 -08:00
Dmitriy Vasyura 96bd5f640b Do not assume stdout/stderr are defined when spawning a child process. 2026-01-01 16:48:44 -08:00
Ladislau Szomoru 43081d3bac Git - expose list of worktrees through the git extension API (#285087)
* Git - expose list of worktrees through the git extension API

* Fix compilation error

* Add property to `RepositoryState`
2025-12-26 02:04:01 -08:00
Ladislau Szomoru c95739960f Git - get the diff and num stats for a commit (#284403) 2025-12-19 10:18:29 +00:00
Ladislau Szomoru 6d28298bb5 Git - add option to ignore whitespace for the blame information (#284260) 2025-12-18 15:53:58 +01:00
Ladislau Szomoru 150682a14a Git - add worktrees node to the Repositories view (#284224)
* Worktree node - initial implementation

* Wire up various commands
2025-12-18 10:48:41 +00:00
Ladislau Szomoru f297f37463 Git - add "Stashes" node to the repositories view (#279400)
* WIP - Initial implementation

* Get author and committer date for a stash

* Add drop stash command

* More cleanup
2025-11-25 17:13:48 +00:00
Ladislau Szomoru 9c36e3505a Git - add option to restore staged changes when aplying/popping a stash (#278556) 2025-11-20 11:13:37 +00:00
Ladislau Szomoru 2b52b93770 Git - enable ESLint rule for git extensions (#277156)
* Initial commit with all exceptions

* First pass of fixing

* Add ignored files explicitly
2025-11-13 15:35:01 +00:00
Ladislau Szomoru a18659d8e1 Git - add extension API to get short stats for staged changes (#276308) 2025-11-08 21:43:43 +01:00
Ladislau Szomoru 55e72a1f5e Git - basic extension API to compute working tree short stats (#276134)
* Git - basic extension API to compute working tree short stats

* Fix call

* Fix function
2025-11-07 17:47:07 +00:00
Ladislau Szomoru d2c16dbf3e Git - use git diff-tree only for the first commit in the repository (#274107) 2025-10-30 17:53:37 +01:00
Ladislau Szomoru 20ded57d68 Git - use diff instead of diff-tree for showing commit data and comparing branches (#273969) 2025-10-29 16:28:46 +01:00
Ladislau Szomoru 294b045d4b Git - fix bug with comparing with a remote branch (#273705)
* Git - fix bug with comparing with a remote branch

* Update placeholder
2025-10-28 11:10:07 +01:00
Ladislau Szomoru bbe85db188 Git - remove usages of any (#270075)
* Git - remove usages of `any`

* 💄 fix check
2025-10-06 18:23:03 +00:00
Matt Bierner 360c9fd134 Add lint rule for as any and bulk ignore all existing breaks
For #269213

This adds a new eslint rule for `as any` and `<any>({... })`. We'd like to remove almost all of these, however right now the first goal is to prevent them in new code. That's why with this first PR I simply add `eslint-disable` comments for all breaks

Trying to get this change in soon after branching off for release to hopefully minimize disruption during debt week work
2025-10-02 23:38:33 -07:00
Ladislau Szomoru a1c9bc01e7 Chat - add support to attach a history item change range to chat (#266022)
* Chat - add ISCMHistoryItemChangeRangeVariableEntry

* Chat - add content provider for ISCMHistoryItemChangeRangeVariableEntry
2025-09-10 14:16:38 +00:00
Christy 😺 1297e26760 Handle worktree errors (#258867)
* throw err when choosing already checked out branch

* fix two separate worktree error handling

* Validate branch as soon as it is selected

* Working path validation upfront

* normalize paths

---------

Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>
2025-07-31 16:44:24 +00:00
Ladislau Szomoru 0b25736ee6 Git - detect worktrees when opening a worktree (#258980) 2025-07-31 10:52:07 +00:00
Christy 😺 2446b91ada revamp create worktree... flow (#257603)
* revamp create worktree... flow

* Cleanup code

---------

Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>
2025-07-24 18:40:20 +10:00
Ladislau Szomoru cfc04dc5ba Git - read the HEAD of each worktree (#257532) 2025-07-23 21:37:32 +00:00
Christy 😺 b5c5403c61 create new branch in Create Worktree... command (#257370)
* create new branch in Create Worktree... command

* separator between creating branch and existing branch

* refine create branch

* clean up

* code clean up

* Update commands.ts

* resolve hygiene error
2025-07-23 17:41:02 +00:00
Christy 😺 2b37aecab3 Error handling of create worktree and fix create worktree... command from command palette (#257172)
* esc when creating worktree name cancels create operation

* Find main repo for createworktree command palette to prevent repo picker

* error handling of creating worktree

* add back repo picker for create worktree... command
2025-07-22 07:37:50 -07:00
Christy 😺 dd052e8d44 rework deletion flow (#256415)
* rework deletion flow

* change delete label

* Revise deletion of worktree

* reopen correct repo

* clean up

* Refactor deleteWorkspace command

* Do not show deleteWorktree command in the command palette

---------

Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>
2025-07-18 07:06:08 -07:00
Christy 😺 72aaf2bc9f Add worktree command (#255945)
* Basic functionality of adding worktree

* Code refactoring and clean up

* Remove accidentally added submodules

* Specify folder destination

* Remove default worktree path, always prompt for destination instead

* create worktree only displayed in repo's worktree subcommands

* Git - handle another error condition when detecting worktrees (#256278)

* Rework creating worktree flow

* Include worktree name placeholder

---------

Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>
2025-07-16 18:54:45 +00:00
Ladislau Szomoru 0cfca3786c Git - handle another error condition when detecting worktrees (#256278) 2025-07-16 09:15:33 -07:00
Ladislau Szomoru c0ceb8ca95 Git - fix regression related to worktree detection (#256265) 2025-07-16 08:10:22 -07:00
Christy 😺 4576aa4385 Enable viewing of worktrees under Repositories (#254992)
* init

* fix: correct configuration key for detecting Git worktrees

* Fixed misspelling of worktrees and populated worktree list

* exported parseGitWorktrees

* Replaced git commands with file system reader

* Removed trailing './git' from path

* Prevent errors when accessing empty worktree directory

* Enable worktree deletion

* code clean up

* Remove exposure to git extension

* labeling and minor fixes

* throw error when no worktrees created

* Error handling when getting worktrees

---------

Co-authored-by: bhavyaus <bhavyau@microsoft.com>
2025-07-14 11:27:00 -07:00
Ladislau Szomoru 6c8a25ae47 Git - distinguish between repository, submodule, and worktree (#255374) 2025-07-11 15:35:09 +02:00
Ladislau Szomoru ea92c32109 Git - fix race condition with computing teh branch base (#251374) 2025-06-13 13:41:51 +02:00
Ladislau Szomoru 6e189da432 Git - add extension API to get the repository root (#250044)
* Git - add extension API to get the repository root

* Pull request feedback
2025-05-30 18:13:55 +00:00
Ladislau Szomoru 761976573f SCM - add the ability to search for a history item (#249819)
* WIP implementation illustrating the problem

* Tweak searching

* Saving my work

* Use the cancellation token

* Adopt delayer

* Remove debug messages
2025-05-26 17:16:06 +02:00
Ladislau Szomoru 28b55a766c SCM - add cancellation token to history provider (#249808) 2025-05-26 03:26:40 -07:00
Ladislau Szomoru c1ed063624 Git - sequantialize calls to git config (#249709) 2025-05-24 07:22:35 -07:00
Jean Pierre 36ce9d0b7c Fix timeline git requests are not cancelled when switching editors too fast (#244335)
* Cancel git log commands from timeline

* Don't delete timeline requests when cancelled as they already got deleted

---------

Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>
2025-05-23 17:30:56 +00:00
Ladislau Szomoru daab3ffa1e SCM - add the capability to attach a history item as chat context (#249073)
* Saving my work

* Got the variable widget working

* Refactored the variable widget

* Clean up the attachment widget

* Content provider stub

* Add proposed API for chat context

* Add method to get the complete details of a commit
2025-05-16 01:09:12 -07:00
Ladislau Szomoru 6cdea9ec05 Git - fallback to relative() when computing relative paths (#247848) 2025-04-30 15:29:15 +02:00
Ladislau Szomoru 82839a3b65 Git - improvements to relative path calculation (#245001)
Git - relative path using both the repository root and repository real root
2025-03-28 20:15:52 +01:00