OK, so I’m having a bit of trouble making this whole Unison thing work – and I really want it to work, because it’s exactly what I need. Here’s what I did, in a nutshell:
Download latest GUI version, v. 2.27.47, of Unison for my computer (Mac, running OS 10.4.10)
Download, untar, compile OCaml on Dreamhost
Download, untar, compile Unison, move into ~/bin/ (making sure that it is the same version, 2.27.47, that I have on my desktop)
Modify PATH to include ~/bin
So far so good; when I ssh in to dreamhost and type “unison” at the prompt, I get
Usage: unison [options]
or unison root1 root2 [options]
or unison profilename [options] (etc.)
Then the ugly starts. I run Unison on my machine, and it says the connection is dropped. When I install the command-line tool and watch carefully, I see this:
[wfc:~] tcsh% unison /Users/myname/documents/sync-test/ ssh://firstname.lastname@example.org//home/myname/testdir/
2007-10-27 18:03:58.122 Unison Connecting…
2007-10-27 18:03:59.685 Unison Got the prompt: 'Password: ’
[The GUI version appears and prompts me, and I enter the password here]
bash: line 1: unison: command not found
2007-10-27 18:04:05.054 Unison Uncaught exception: Fatal error: Lost connection with the server
Okay, so it doesn’t know where the remote version of Unison is, even though it’s in the path… we can work on that, but for the time being let’s just tell it:
[wfc:~] tcsh% unison /Users/myname/documents/sync-test/ ssh://email@example.com//home/myname/testdir/ -servercmd /home/myname/bin/unison
2007-10-27 18:06:27.262 Unison Connecting…
2007-10-27 18:06:28.724 Unison Got the prompt: 'Password: '
2007-10-27 18:06:34.353 Unison Connected.
Woo hoo! The GUI window expands the way it’s supposed to and I get a list of files to sync. All of them are correct, so I click on Synchronize and it starts chugging away. Once it’s down to the last file (a big .mp3), it chews on it for a bit and then crashes, reporting the following:
2007-10-27 18:07:30.044 Unison Uncaught exception: Unix error(Resource temporarily unavailable,write,)
Killed by signal 1.
So, my big questions:
Any way to have Unison know when it signs in where it can find the server version of the program? (I put the path mod into my .bash init file, and it works when I ssh in, but for some reason Unison isn’t finding its twin.)
Any idea what’s going on with this nasty write error that I get with larger files?