Links
Tags
apache
armenia
books
bsd
c
c++
chips
cinema
concurrency
cooking
database
dragonfly
erlang
filesystem
freebsd
fun
hardware
java
javascript
json
languages
linux
lyric
mac_osx
mail
math
misc
music
personal
poems
presentation
programming
python
references
ruby
rubyjs
scm
software
spiking_neural_net
study
sysadm
sysarch
technology
testing
travel
virtualization
web
wee
windows
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.