Friday, June 07, 2013

Fossil - Simple, high-reliability, distributed software configuration management 

A quick tutorial for myself on how to sync two fossil databases.

Putting some notes down on "paper" so I remember what I did for a personal project.  These directions would not be useful for a large project with multiple developers.
Along with being a distributed SCM, fossil is interesting because it is also a wiki and bug tracker.  It is also cross-platform, permissively licensed, self-contained, and doesn't require much in the way of complex installation or dependencies.

The quick start guide is good, although I wanted to write down my own condensed version.

1. Download  here: http://www.fossil-scm.org

2. fossil init my-repo (or is it fossil new my-repo)
This creates a sqlite database named "my-repo", and spits out  the project-id, server-id, and admin-user username and randomly generated password.  You can write down this username/password combination, or set a new password in the next step.  By default, it uses the your current username as the admin user.  You can set this to something else when you create the repository by using the -A flag.

3. fossil ui my-repo
This will run the fossil web server and have it listen on, and then launch your default web browser if it can.  When the web browser opens, you will be automatically logged in as the admin-user.  In this mode, it will not listen for connections over the network.  It will direct to you the config page so you can make changes.

4. User management and permissions
In the Admin, Users tool, you may want to limit what the "anonymous" group can do, as by default they can leave comments on pages.  I just unchecked everything for that group.

5. fossil server -port 8000 my-repo
This will run the server and bind to port 8000 and listen on all interfaces.

6. shut down fossil, and copy the sqlite database file over to another machine. start up the serve again.

7. fossil sync -R my-repo http://user:password@www.server.tld:8080

8. fossil sync -R my-repo
Later syncs seems to be fine with just that.

This page is powered by Blogger. Isn't yours?