11. February, 2006
27. June, 2007
in by Michael Neumann

For the purpose of maintaining changes to configuration files on our server, I wrote some time ago a little shell script called scm. Today I added some new features, mainly support for rsync to make space usage more efficient (optionally it uses pax so it works out-of-the-box on a FreeBSD system), but also a log subcommand and some fixes.

Download and try it: scm. Rename it to ’/usr/local/bin/scm’. Then let’s start:

scm help
scm init /tmp/repos
scm add some-file
scm add some-other-file
scm status
scm diff
scm commit
scm log

Note that due to recording which packages are currently installed on a FreeBSD system, scm will fail on other systems. You can avoid this by simply overwriting function scm_custom_action.