Content Skeleton

This Page

Previous topic


Next topic

Java Demos

Fossil SCM

Simple, high-reliability, distributed software configuration management

Fossil weaknesses

  1. pre-commit hooks, eg disallow tabs in python

Linux serving with xinetd

After placing the config, need to restart the xinetd service:

[blyth@cms01 e]$ curl http://localhost:591      ## just hangs
[blyth@cms01 e]$ sudo /sbin/service xinetd status
xinetd (pid 3099) is running...
[blyth@cms01 e]$ sudo /sbin/service xinetd stop
Stopping xinetd:                                           [  OK  ]
[blyth@cms01 e]$ sudo /sbin/service xinetd start
Starting xinetd:                                           [  OK  ]
[blyth@cms01 e]$ curl http://localhost:591
<h1>Not Found</h1>

Darwin serving with launchctl

simon:fossil blyth$ sudo launchctl unload $(fossil-cfg-path)
simon:fossil blyth$ sudo launchctl load $(fossil-cfg-path)

Alternatively the function fossil-reload does this

configure local options

simon:fossil-src-20130216000435 blyth$ ./configure --help
  Local Options:
  --with-openssl=path|auto|none  Look for openssl in the given path, or auto or none
  --with-zlib=path               Look for zlib in the given path
  --with-tcl=path                Enable Tcl integration, with Tcl in the specified path
  --with-tcl-stubs               Enable Tcl integration via stubs mechanism
  --disable-internal-sqlite      Don't use the internal sqlite, use the system one
  --static                       Link a static executable
  --disable-lineedit             Disable line editing
  --fossil-debug                 Build with fossil debugging enabled
  --json                         Build with fossil JSON API enabled
  --markdown                     Build with markdown engine enabled


Operational Functions

fossil-url-check [url]

check fossil is responding:

simon:e blyth$ fossil-url-check
=== fossil-url-check : INFO fossil running OK at http://localhost:591
simon:e blyth$ fossil-url-check http://localhost:592
=== fossil-url-check : WARN FOSSIL NOT RUNNING AT http://localhost:592

Config Functions

path to the config file
direct editing the config to test changes before persisting them in the template
path to the config template
fill the template and emit to stdout for checking, the context used for filling comes from the [fossil] section of the ini config file ~/.env.cnf
uses fossil-cfg- to generate config and copy it into the needed location
OSX specific : uses launchctl to unload, then load the fossil config
fossil-launchctl cmd
launchctl cmd operations on the fossil-cfg-path

Migration Functions

exploring migrations from git into fossil

Non-standard build

The jimtcl branch, adds hooks, needs compilation with FOSSIL_ENABLE_TCL ?

fossil-switch jimtcl
      # defines FOSSIL_NAME which is used by the other functions