Gostaria de manter uma pasta sincronizada comum em dois laptops. (Com muitos arquivos de mídia e outros, não é possível usar o git, mas, por outro lado, poucas alterações precisam ser reconciliadas.)
A maneira mais fácil de fazer isso parece ser manter uma cópia da pasta em cada computador e em um disco rígido externo, que pode ser conectado a qualquer um deles.
Para sincronizá-los, gostaria de usar o uníssono.
Isso está funcionando bem, exceto que recebo repetidamente a mensagem de erro:
Nenhum arquivo compactado foi encontrado para essas raízes, etc.
Então aquele uníssono verifica tudo novamente do zero, o que leva séculos
No entanto, quando verifica novamente completamente, sempre parece fazer a coisa certa.
Presumo que estou fazendo algo errado. Isso é possível fazer com o uníssono, e o que preciso fazer para que ele reconheça que se trata de uma unidade externa e duas pastas locais e se comporte adequadamente?
Responder1
Os arquivos compactados Unison são armazenados ~/.unison/ar*
e nomeados após um hash de ambos os caminhos absolutos que você sincroniza (pode ser visto em forma de texto dentro do próprio arquivo). Você precisa ter certeza de que o disco externo está sempre montado no mesmo local.
É importante ressaltar que os caminhos incluem nomes de host (para ajudar na sincronização por SSH), portanto, se o nome de host do computador for alterado, por exemplo, devido à atribuição de um novo nome pelo DHCP, todos os arquivos antigos não serão mais reconhecidos.
Em qualquer caso, investigue por que os arquivos compactados estão faltando e/ou continue alterando seus nomes. Embora sejam binários, você ainda pode executar head
ou strings
ver o cabeçalho textual que mostra os dois caminhos para cada arquivo compactado.