A execução de unison -repetição repetida produz um erro no observador do sistema de arquivos

4

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?

    
por Martín Peverelli 10.04.2016 / 05:12

1 resposta

2

Quando você compila o Unison a partir do código fonte, existe um executável separado unison-fsmonitor que é criado. Quando você executa esse unison-fsmonitor , ele imprime VERSION 1 e aguarda conforme o esperado. Basta compilar o Unison na sua VM e usar esse executável em vez do script fsmonitor.py .

Você pode ver no registro de alterações do Unison 2.48.3 que eles criaram um novo utilitário de observador de arquivos. Não está claro para mim por que fsmonitor.py está incluído nesta versão se você for usar o novo utilitário. Ou talvez o novo utilitário e o script python realmente executem tarefas diferentes ...?

    
por 11.04.2016 / 01:13