-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Plugin marketplace: add explicit update command and prevent shallow clone history accumulation #2488
Description
Summary
Two minor feature gaps related to plugin marketplace management:
- No explicit /plugin marketplace update command
Currently, the only way to update a marketplace is implicitly through /plugin marketplace browse, which triggers a git pull under the hood. This behavior is non-obvious and undocumented.
Current marketplace subcommands:
- /plugin marketplace add
- /plugin marketplace remove
- /plugin marketplace list
- /plugin marketplace browse
Suggestion: Add /plugin marketplace update (or update --all) as a dedicated subcommand so users can explicitly refresh marketplace catalogs without needing to browse.
- Shallow clone history accumulates over time
When a marketplace is first added, it's cloned as a shallow clone (--depth 1). However, subsequent updates (triggered by browse) append new commits rather than re-shallowing. Over time, the local clone at ~\AppData\Local\copilot\marketplaces<encoded-url>\ grows
unbounded.
For a marketplace, only the latest state of the plugins/ directory matters — intermediate commit history is unnecessary.
Suggestion: Use git fetch --depth 1 (or equivalent) during updates to keep the clone minimal, rather than a standard git pull that accumulates history.
Impact
Neither issue is critical. Both are quality-of-life improvements — the first for discoverability, the second for disk efficiency on machines with many marketplaces or frequent updates.