Conflito de resolução automática com uníssono

Conflito de resolução automática com uníssono

Configurei uma sincronização automatizada personalizada entre 2 pastas (no OSX) comuníssonocom a seguinte linha:

unison folder1 folder2 -batch -debug update+

O que funcionou bem até que encontrei:

Synchronization complete at 12:01:44  (0 item transferred, 1 skipped, 0 failed)
  skipped: example.txt (contents changed on both sides)

Gostaria que o comando sincronizasse automaticamente a versão mais recente. Olhando nas opções:

$ unison -help | grep conflict
 -auto              automatically accept default (nonconflicting) actions
 -copyonconflict    keep copies of conflicting files
 -prefer xxx        choose this replica's version for conflicting changes

.. o que sugere que a única maneira de resolver é com -prefer, mas posso estar faltando alguma coisa. É possível especificar a versão por carimbo de data/hora?


EDIT: Todos os bits relevantes do relatório de sincronização:

[update+]   Unchanged file
[update+] buildUpdateChildren(handleChild): example.txt
[update] buildUpdateRec: /path/to/folder1/example.txt
[update] checkContentsChange: archStamp is inode (3373366) / info.inode (3373748) / times: 1433242394.000000 = 1433242527.000000... false / lengths: 110602 - 110611
[update+]   Double-check possibly updated file
[update]   archive digest = (29c46acff8e661513ec7487bc0069c2b,)   current digest = (cdc82c2519076f9e52486b1c881e179d,)

[update+]   Unchanged file
[update+] buildUpdateChildren(handleChild): example.txt
[update] buildUpdateRec: /path/to/folder2/example.txt
[update] checkContentsChange: archStamp is inode (3373726) / info.inode (3373746) / times: 1433242452.000000 = 1433242515.000000... false / lengths: 110602 - 109400
[update+]   Double-check possibly updated file
[update]   archive digest = (29c46acff8e661513ec7487bc0069c2b,)   current digest = (e12ef45f692808d50989ca4b08d8c27f,)

changed  <-?-> changed    example.txt

Synchronization complete at 12:23:37  (0 item transferred, 1 skipped, 0 failed)
  skipped: example.txt (contents changed on both sides)

Responder1

Desisti do carimbo de data e hora e decidi priorizar uma versão adicionando o argumento

-prefer /path/to/folder1

que resolve os conflitos.

Responder2

Eu acho que isso ajudará. Conforme alterações na versão 2.48.4:

Adicionada uma preferência "copyonconflict", para fazer uma cópia de arquivos que de outra forma seriam substituídos ou excluídos em caso de alterações conflitantes. (Isso torna possível resolver conflitos automaticamente de uma forma bastante segura durante a sincronização contínua, em combinação com as preferências "repeat = watch" e "prefer = newer".

informação relacionada