Unison으로 충돌 자동 해결

Unison으로 충돌 자동 해결

OSX의 두 폴더 간에 사용자 지정 자동 동기화를 설정했습니다.조화다음 줄을 사용하십시오 :

unison folder1 folder2 -batch -debug update+

내가 만날 때까지 잘 작동했습니다.

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

최신 버전을 자동으로 동기화하는 명령을 원합니다. 옵션을 살펴보면 다음과 같습니다.

$ 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

.. 해결하는 유일한 방법은 을 사용하는 것이지만 -prefer뭔가 빠졌을 수 있습니다. 타임스탬프로 버전을 지정할 수 있나요?


편집: 동기화 보고서의 모든 관련 비트:

[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)

답변1

타임 스탬프를 포기하고 인수를 추가하여 한 버전의 우선 순위를 결정했습니다.

-prefer /path/to/folder1

갈등을 해결하는 방법입니다.

답변2

나는 이것이 도움이 될 것이라고 생각합니다. 버전 2.48.4의 변경 사항:

변경 사항이 충돌하는 경우 덮어쓰거나 삭제될 파일의 ​​복사본을 만들기 위해 "copyoncon conflict" 기본 설정을 추가했습니다. (이렇게 하면 "반복 = 감시" 및 "선호 = 최신" 기본 설정과 함께 지속적으로 동기화할 때 상당히 안전한 방식으로 충돌을 자동으로 해결할 수 있습니다.

관련 정보