* Improve layering for git model
- Git clone doesn't belong in the model, removed it
- All the extra repo picking didn't seem to fit into `Git` though, as that is really about git operations
- Added a `CloneUtils` namespace for all the clone stuff to live.
* Update extensions/git/src/clone.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* CloneManager class
* public/private
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
* WIP - initial implementation
* Add stagedQuickDiffProvider API
* Reduce the usage of `isSCM`
* Make unstage feel snappier
* Deduplicate diffs between primary and secondary
* Fix unstage selected ranges to work from the editor
* WIP - saving my work
* Fixed deduplication and commands
* Add pattern colors
* Rework the colors, and fix deleted glyph
* Got unstage commands working
* Update provider name
* Some improvements
* Cleaned up CSS
* Tweak decoration colors
* Update proposed API naming
* Contributed decorations will use the primary colors for the time being
* More cleanup
* Initial implementation
* Move ObservableSet into a separate file
* Add quick pick for reopening closed repositories
* Fix issue with initializing the context key
* Add welcome views
* Factor out captured variables that are not reused outside findGit callback
* Always register git protocol handler
* Notify the user when cloning without git installed
* Actually notify the user when cloning without git installed
Errors when invoking a command don't seem to get thrown in the extension host
* Add output channel logging
* Revert "Factor out captured variables that are not reused outside findGit callback"
This reverts commit df005bdda5.
* Add canonical workspace identifier proposed API
* Use canonical id to store and resume edit sessions
* Add git extension workspace identity provider
* Fix warning incorrectly showing up
* Make auto resume behavior opt in
* * Create a separate service
* Accept WorkspaceFolder instead of URI
* Return string instead of object
* Make edit session restores resilient to provider registration races
* Introduce an activation event
* Activate contributing extension before using provider
* `CanonicalWorkspaceIdentity` -> `EditSessionIdentity`
* Show progress while resuming edit session
* Store edit session even if extension will take care of opening target workspace
* Address most of PR feedback
* `IEditSessionsWorkbenchService` -> `IEditSessionsStorageService`
* Unregister provider in renderer
* Split out proposal into new `editSessionIdentityProvider.d.ts`
* Fix bad merge
* Always show progress in window
* Convert URI schemes