Richard Bucker

Simple Fossil SCM

Posted at — Sep 7, 2022

The fossil-scm is both simple and complicated at the same time. By itself it is a very good stand alone SCM. It does lack some features like syntax enabled code editor which I endlessly waited for gitlab to deploy I still never use it. Fossil itself does not offer a ci/cd solution but there are simple workarounds.

simple steps

mkdir -p ~/mnt/fossil
sudo mount -t nfs nas.local:/volume1/fossil $HOME/mnt/fossil
mkdir ~/fossil
fossil clone $HOME/mnt/fossil/vctools.fossil $HOME/fossil/vctools.fossil
mkdir -p ~/src/vctools
cd ~/src/vctools/
fossil  open ~/fossil/vctools.fossil 
ls
... do some work...
fossil commit -m "a note to self"

other features

Fossil does have a web UI and does support http and https. There are some quirks for password management and while I have deployed the ui server I am losing interest. I only need the CLI but from time to time I want to see the timeline or read some markdown. fossil ui is supposed to launch the local browser.

Normally you would cd to the project directory and then run fossil ui. However, in my case, most of my development takes place on a remote machine. In that case I need to launch it this way. Keep in mind that it’s http and if your local network is vulnerable then you might want to use ssh with some port forwarding.

$ fossil ui -P 0.0.0.0:8080 --nobrowser
Listening for HTTP requests on TCP port 8080
http://0.0.0.0:8080/timeline?c=current

CI/CD

Export the code to a git repository with CI/CD enabled.