Replace the library for interacting with git
Problem to solve
The extension is currently using execa npm module to invoke git shell command and then parse the stdout lines to get information.
This results in increased effort and complexity when interacting with git repository. This approach caused several bugs in the past (#193 (closed) #197 (closed)).
Proposal
Replace the custom solution with a dependency. Either npm module like simple-git, or with the API exposed by git official VS Code Extension (this is the approach taken by !54 (closed) )
Further details
The current custom implementation is in src/git_service.js
Links / references
- Example implementation use of simple-git: https://gitlab.com/viktomas/gitlab-example-extension/-/blob/master/src/gitService.ts#L28-43
- MR connecting to the
gitextension API: !54 (closed)
Edited by Tomas Vik (OOO back on 2026-01-05)