Estou tentando sincronizar uma pasta no meu host OSX para uma VM que executa o Ubuntu. (laravel / herdade). Este é o comando que eu executo no meu host:
$ unison ssh://[email protected]//home/vagrant/www ~/unison/www -repeat watch
que produz a seguinte saída
Contacting server...
Connected [...]
Looking for changes
Waiting for changes from server
Fatal error: Server: Unexpected response 'Usage: unison-fsmonitor [options] root [path] [path]...' from the filesystem watcher (expected VERSION)
No meu localhost:
$ unison -version
unison version 2.48.3
$ unison-fsmonitor
VERSION 1
Na minha VM:
$ unison -version
unison version 2.48.3
$ unison-fsmonitor
Usage: unison-fsmonitor [options] root [path] [path]...
This program monitors file system changes on all given (relative to root) paths
and dumps paths (relative to root) files to a file. When launched, this file is
recreated. While running new events are added. This can be read by UNISON
to trigger a sync on these files. If root is a valid unison profile, we attempt
to read all the settings from there.
Para meu localhost, instalei em uníssono via homebrew, e baixei o arquivo unox.py
do github e o instalei em /usr/local/bin/unison-fsmonitor
.
Para minha VM, usei ppa:eugenesan/ppa
para uníssono e baixei a fonte da versão 2.48.3 do site unison para obter uma cópia de fsmonitor.py
, que coloquei em /usr/bin/unison-fsmonitor
.
Unison sem -repeat watch
funciona sem problemas.
Eu recebo a mesma saída se eu tentar executar o mesmo comando (invertendo o ssh) dentro da VM. Li que o unison-fsmonitor deve obedecer ao protocolo descrito em /src/fswatch.ml
e esse não parece ser o caso do script fsmonitor.py
padrão. Estou esquecendo de algo? Existe outro script que deve ser usado para o executável unison-fsmonitor?