Distributed Version Control With Raspberrypi3, Fossil, and FreeBSD

freebsd raspberrypi fossil version control

How to Install Fossil?

Fossil package is about 1 MB and you can install it easily:
# pkg install fossil
There are no dependencies and because of that, it’s suitable for RPI3 or any other low-spec computer.

Starting a New Project with Fossil

Let’s create a new repository called bsdmag:
# fossil init bsdmag

The command above will return something like this:

project-id: af7d78e8d0d1347cdb7d45e1f4573b9c8185c17a  
server-id:  16cee8655038eef551c101354e227d65c0b88d00  
admin-user: root (initial password is "c341da")  

When you create a new repository, you usually want to do some local configuration. This is easily accomplished using the web-server that is built into the fossil.
Fossil can act as a stand-alone web server using one of these commands:
# fossil server repository-filename
# fossil UI repository-filename
# fossil UI bsdmag
The UI command is intended for accessing the web interface from a local desktop. The UI command binds to the loopback IP address only (and thus makes the web interface visible only on the local machine) and it automatically starts your web browser pointing at the server. For cross-machine collaboration, use the server command, which binds on all IP addresses and does not try to start a web browser.
# fossil server bsdmag –port 80
And you can configure your new repository using the Fossil UI in your browser.

Manage Fossil By Using The CLI

There are some tasks you can not do it through the web interface. Like how to reset root password or converting git repository to fossil-scm compatible repository. All you need is root access.
You can list all fossil commands by:
# fossil -help -a
List Repository Users
To list all bsdmag repository users issue this command:
# fossil user list -R bsdmag
Create a New User
Sometimes it’s easier to create a user from CLI:
# fossil user new USERNAME CONTACT-INFO PASSWORD
Reset Password
The forgotten root password is a nightmare but you can change root or any users password by:
# fossil user password USERNAME PASSWORD
Covert Git to Fossil
To import a Git repository into Fossil, issue these commands:
# cd git-repo
# git fast-export –all | fossil import –git new-repo.fossil

You can get full edition at:
https://contents.meetbsd.ir/ebook/fossil_bsdmag.pdf
Or:
https://bsdmag.org/download/build-scalable-monitoring-system-grafana-influxdb-riemann/


enter image description here