Add additional source control operations to the Web IDE
## Problem to solve Our implementation of source control in the Web IDE is based on the GitLab API and not a full `git` workflow. It does not support more advanced git operations. ## Proposal Add the ability to perform other git operations in the Web IDE. Start with the following: 1. [Pull](https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/479) 2. [Checkout to...](https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/480) 3. [Commit](https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/482) 1. Commit & Push 2. Amend commit & force push 3. Commit & force push 4. [Changes](https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/476) 1. Stage all changes 2. Unstage all changes 3. Discard all changes 4. Commit staged 5. [Branch](https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/478) 1. Create branch... 2. Create branch from... 3. Delete branch... 6. [Stash](https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/477) 1. Stash 2. Apply latest stash 3. Pop latest stash 4. Drop latest stash 7. [Tags](https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/481) 1. Create tag... 2. Delete tag... 8. [Copy changes (Patch)](https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/475) ## Acceptance Criteria * [ ] Newly supported source control operations are accessible via the Source Control panel under the "More Actions" menu ![Screenshot 2025-05-02 at 4.58.19 PM.png](/uploads/26b532e7b338120b9befdac3368a5b5e/Screenshot_2025-05-02_at_4.58.19_PM.png) * [ ] Each newly supported source control operation should function as expected * [ ] executed operation results in the expected source control change * [ ] after an operation is performed the WebIDE reflects the updated repository state (without requiring a manual refresh) * [ ] Where required/expected there should be clear real-time visual indicators that show progress such as loading, success, error, or others. * [ ] If an operation fails, the user is shown a clear and actionable error message ## Implementation guide Follow the VSCode's source control provider guide to implement the additional source control operations: https://code.visualstudio.com/api/extension-guides/scm-provider
epic