* Initial implementation for external repositories
* Added setting
* Add basic welcome views
* Replaced "Always Open" with "Configure"
* Remove code duplication
* Polish based on feedback
* Language consistency
* Update notification severity
* Move away from the "external repository" terminology
* Refactor notification logic
* Saving my changes
* Further improvements
* Refactor parent repository notification
* Update message and fix edge case when setting is set to `never`
* Expose editor "blue button" as menu
* rename proposed `MergeToolbar` to `EditorContent` menu
* adopt GIT and sync conflicts usage
* use content menu for "open in 3wm" command
* add new `ctxIsMergeResultEditor` context key
Better fix for https://github.com/microsoft/vscode/issues/153800
* fix typo
* 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
* make git's `openMergeEditor` user-facing command and show it for editors that have conflicts
also includes a workaround for an issue with untyped editor inputs... fyi @lramos15
* Patch matches
* Remove TODO
* set nowrap for white-space
fixes https://github.com/microsoft/vscode/issues/156402
Co-authored-by: Logan Ramos <lramos15@gmail.com>
While the merge editor shows users can handle merge conflicts outside of it, e.g on the console via `git add <FILE>`. The merge editor should have this graceful and step one is to hide the "Accept Merge" command when the file isn't conflicting anymore
* Adds a git-context key that contains all resource-uri-strings under conflict
* Enable/placement of the Accept Merge command is driven by that
* some merge editor context key sugar