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
git
extension API: !54 (closed)
Edited by Tomas Vik