[worker] Use go-git library instead of exec #19

Closed
opened 7 months ago by elipsion · 1 comments

Relying on system git might not be the best idea, long term.
There is a perfectly good library written in pure go.

Relying on system git might not be the best idea, long term. There is a [perfectly good library](https://pkg.go.dev/github.com/go-git/go-git/) written in pure go.
Owner

Hello,

While I can understand, that using a pure go git library is appealing, I purpusely don't want a go rewrite of a perfectly fine git command. git grew over the years, it is by no means simple - especially when it comes to the details and more obscure calls, but it works and it, in a sense, a reference implementation of git. As long as git repositories are around, the git command will work. Or to put it in the UNIX way: git is a tool that does one thing, but does it well.

go-git seems to be a quite well supported library. Putting aside, that mvoCI does nearly nothing with git, that would need that library (there is no performance benefit, there is no maintainability benefit), we are still left with the uncertainty, whether or not go-git or any of its dependencies will be supported maybe 5 or 10 years into the future, whether critical bugs would get fixed in a timely manner - in all its dependencies as well. That a risk I don't want to take, especially as mvoCI would not profit from a statically linked git implementation in go.

Therefore, I'm closing this issue.

Thank you for your input.

Kind Regards,
snaums

Hello, While I can understand, that using a pure go git library is appealing, I purpusely don't want a go rewrite of a perfectly fine git command. git grew over the years, it is by no means simple - especially when it comes to the details and more obscure calls, but it works and it, in a sense, a reference implementation of git. As long as git repositories are around, the git command will work. Or to put it in the UNIX way: git is a tool that does one thing, but does it well. go-git seems to be a quite well supported library. Putting aside, that mvoCI does nearly nothing with git, that would need that library (there is no performance benefit, there is no maintainability benefit), we are still left with the uncertainty, whether or not go-git or any of its dependencies will be supported maybe 5 or 10 years into the future, whether critical bugs would get fixed in a timely manner - in all its dependencies as well. That a risk I don't want to take, especially as mvoCI would not profit from a statically linked git implementation in go. Therefore, I'm closing this issue. Thank you for your input. Kind Regards, snaums
snaums closed this issue 7 months ago
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: snaums/mvoCI#19
Loading…
There is no content yet.