Richard Bucker

Golang Support for Fossil-scm

Posted at — Jul 3, 2021

Golang is a good programming language. First of all it’s not c although I can make a case for moving back to c. Second it has a lot of language features that makes it easier and safer to write code with a heavier hand. Third there is a robust 3rd party package (vendor) library that is awesome.

While all of that is good it’s also the source of potential evil.

go get and go install are great tools as they make it efficient to import packages. Unfortunately it also creates a number of problems. First it means that go get packages depend on whatever the golang authors decided to implement. They started with support for git, svn and hg. Each have their own audience. The thing of it is that fossil is the turbo-pascal of the VCS universe. It does not take much to work and it’s not meant for Linux Kernel sized projects.

Someone needs to learn those googlers that not everything is google scale.

The fossil team did develop an export path from fossil to git. It’s a novel idea but it still means that git is in the loop. It also means there is yet another layer and something can and likely will go wrong. So I’m looking for an alternative to golang as my next language. (specially since THEY are talking about generics.) Anyway; might be time to go back to a simple c compiler.