Unison File Synchronizer
My trip to the US the last few weeks was not only about choosing papers for a great conference, or getting ready for presenting some recent works, but also some great hacking time on Unison with Benjamin Pierce.
The result is best summarized by this message Benjamin sent on the Unison-users mailing list:
Dear Unison Users,
During the past couple of weeks, Alan Schmitt and I have been doing
quite a bit of work trying to improve Unison's ability to deal with
large files and directories. This has required some major internal
changes, which will take a little time to fully stabilize, but we're
using it ourselves and it appears to be working. (Also, we believe
that we've left all of Unison's paranoid double-checking mechanisms in
place, so the new functionality should at least be fail-safe.) At
this point, we'd love to have some other courageous souls using it, to
help us shake out the last remaining bugs.We've done two main things in this version:
Added support for resuming directory transfers if Unison is
interrupted in the middle. This functionality is always on.Added support for using an external utility for single-file
transfers. (Unison's built-in transport mechanism is not very fast
for this case, so an external program like rsync can substantially
improve performance.) If the external program is able to resume
interrupted transfers (as rsync is, for example), this will make
things even faster.This functionality is enabled by setting the flag "copythreshhold" to
something non-negative. Setting it to zero will use the external
program for all whole-file transfers (i.e., where the file has been
created on one host). Setting it to something positive will use the
external program for transferring files larger than this value (in KB).The external utility is rsync by default. If you want to use a
different one, set the "copyprog" and "copyprogrest" preferences.
(They are described in detail in the Preferences section of the user
manual.)You can find both sources and binaries (for OSX-Intel and Windows) on
the Unison download page. Please post a note here with any
experiences, positive or negative.Thanks!
- Benjamin (and Alan)
Don't hesitate to give it a test! I have OS X (Universal) and Windows (Gtk) binaries ready for you.
And for historical records: Unison was a stop-gap measure waiting for efficient and easy to use distributed file systems. Unfortunately we are still waiting...
Thank you very much!
I appreciate your work.
Felipe
Thank you very much for the kind words!