Unison falha? Ignorar caminho e data e hora

2

Tentando configurar a versão Unison 2.40.65 em dois computadores desktop Ubuntu 12.04 LTS. O computador principal é um System76. O computador secundário é um Apple mini mac do final de 2012 que não tem mais o OS X nele. Ambos os computadores possuem sistemas de arquivos ext4 instalados.

Eu decidi testar o Unison antes de usá-lo para sincronização crítica, já que tive uma experiência anterior com o Windows para Windows que era pouco utilizável (como em lenta, instável, e que Deus o ajudasse se a rede caísse). Eu testei todas essas falhas com o Unison e ele passou por uma ampla margem.

Eu tenho um problema significativo com o Unison ignore = Path . Eu defino o ignorar usando a GUI e editando o arquivo de perfil. Quando uma pasta ou arquivo é adicionado dentro da última pasta no caminho, o Unison deseja adicionar o novo material ao computador oposto de onde foi adicionado. Portanto, ignore funciona de acordo com a definição no Uníssono documentação :

  

ignorar xxx

     

A inclusão do pathspec de preferência -ignore faz com que o Unison ignore completamente os caminhos que correspondem ao pathspec (assim como aos filhos). Isso é útil para evitar a sincronização de arquivos temporários, arquivos de objeto, etc. A sintaxe do pathspec é descrita na seção Especificação de caminho, e detalhes adicionais sobre ignorar caminhos são encontrados na seção Ignorando caminhos.

O que eu vejo no meu teste para "(assim como os filhos deles)". Eu estava esperando que ignore = Path significasse, não importa o que sempre ignore todas as mudanças nesse caminho.

Aqui está uma cópia do meu perfil uníssono de teste:

label = test2
root = /home/butest/Documents
root = ssh://[email protected]//home/butest/Documents
sshargs = -C  
ignore = Path Documents/4_Significant_Events/*

Aqui está uma lista da combinação ignore = Path que eu tentei sem sucesso. Eles lançam uma exceção ou tiveram o mesmo comportamento acima.

ignore = Path home/butest/Document/4_Significant_Events

ignore = Path /home/butest/Document/4_Significant_Events

ignore = Path //home/butest/Document/4_Significant_Events/

ignore = Path {home/butest/Document/4_Significant_Events}

ignore = Path {/home/butest/Document/4_Significant_Events}

ignore = Path {//home/butest/Document/4_Significant_Events/}

ignore = Path home/butest/Document/4_Significant_Events*

ignore = Path /home/butest/Document/4_Significant_Events*

ignore = Path //home/butest/Document/4_Significant_Events*/

ignore = Path {home/butest/Document/4_Significant_Events*}

ignore = Path {/home/butest/Document/4_Significant_Events*}

ignore = Path {//home/butest/Document/4_Significant_Events/*}

ignore = Path home/butest/Document/4_Significant_Events[*]

ignore = Path /home/butest/Document/4_Significant_Events[*]

ignore = Path //home/butest/Document/4_Significant_Events/[*]

ignore = Path {home/butest/Document/4_Significant_Events[*]}

ignore = Path {/home/butest/Document/4_Significant_Events[*]}

ignore = Path {//home/butest/Document/4_Significant_Events/[*]}

Além disso, esperava manter o carimbo da hora igual nos dois computadores. Mas não consigo descobrir como forçá-lo. Este menor comparado com o outro problema.

    
por mark_97 22.05.2014 / 05:40

2 respostas

1

Vamos ver: ignore caminhos são relativos. Portanto, todos os exemplos adicionais verificados são ilegais.

Neste código:

label = test2
root = /home/butest/Documents
root = ssh://[email protected]//home/butest/Documents
sshargs = -C  
ignore = Path Documents/4_Significant_Events/*

você está dizendo ao Unison para ignorar todos os caminhos sob as raízes que correspondem à descrição, ou seja,

/home/butest/Documents/Documents/4_Significant_Events/*

que eu suspeito que não é o que você quer. Se você quiser que seu diretório /home/butest/Documents/4_Significant_Events/ (e filhos) seja ignorado, simplesmente mude a última linha com

ignore = Path {4_Significant_Events}

Sobre o timestamp, eu não entendo. Você está procurando a opção times = true para sincronizar os timestamps?

    
por Rmano 22.05.2014 / 06:15
0
ignore = Path {4_Significant_Events}

Funciona Perfeito. São {} semelhantes ao escopo em C? Então a linha acima pode ser declarada como: unison ignorar todas as coisas no escopo de 4_Significant_Events.

times = true 

era o que eu precisava, eu estava procurando na GUI como "data e hora" Funciona perfeito.

    
por mark_97 24.05.2014 / 16:30