sfs (synchronise filesystems)

sfs is a program (written in rep) for synchronising directory hierarchies. It's kind of a cross between CVS and the coda filesystem.

It's intended for use in a mostly-disconnected environment, and thus using NFS isn't a possibility. coda supports disconnected operation, but requires large changes to both client and server filesystems.

I use it to synchronise the home directories of my laptop and workstation.

Download a copy of the script from here, you can compile and install it by doing the following:

$ rep compiler -f compile-batch sfs.jl
$ cp sfs.jlc /usr/local/bin/sfs
$ chmod +x /usr/local/bin/sfs

Invoke `sfs --sfs-help' for a list of options. You may want to configure rep's remote file handling to use the `rep' backend for the remote hosts being used (this allows symlinks to be created on the remote host, unlike the default ftp backend)

See the source code for the little documentation that is currently available. Beware that this is still very new and may delete your files! It has been tested, but as usual:

sfs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

John Harper <jsh@unfactored.org>