## 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


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: