Wie ignoriere ich Fehler mit Unison?

Wie ignoriere ich Fehler mit Unison?

Ich versuche, zwei Verzeichnisse mit Unison zu synchronisieren. Wenn jedoch eine Datei mit einem Fehler gefunden wird, wird das gesamte Verzeichnis übersprungen! Ich glaube nicht, dass das gesamte Verzeichnis übersprungen werden sollte, sondern nur diese Datei. Damit bin ich einverstanden. Wie sage ich dem Programm, dass der Fehler ignoriert und mit dem Kopieren der restlichen Dateien fortgefahren werden soll?

Unison ist eine ausführbare Windows-Datei, nicht Cygwin. Ich kann die Datei mit Cygwin lesen. Unison findet tatsächlich einen Fehler in der Datei und ich kann ihn problemlos überspringen.

Version 2.32 funktioniert besser als 2.40. Version 2.40 startet nicht einmal.

Ich habe versucht, -ignore hinzuzufügen, aber das hilft nicht. Folgendes habe ich versucht:

$ unison 'c:\cygwin' 'socket://xps:4321/c:/cygwin'
UNISON 2.32.52 started propagating changes at 02:53:35 on 27 Feb 2013
[ERROR] Skipping etc
  [root 1]: Error in digesting c:/cygwin/etc/ssh_host_dsa_key:
c:/cygwin/etc/ssh_host_dsa_key: Permission denied
[ERROR] Skipping home
  [root 1]: Error in digesting c:/cygwin/home/SYSTEM/.bash_history:
c:/cygwin/home/SYSTEM/.bash_history: Permission denied
...
Saving synchronizer state
Synchronization complete at 02:53:39  (3 items transferred, 2 skipped, 0 failed)
  skipped: etc
  skipped: home




$ unison 'c:\cygwin' 'socket://xps:4321/c:/cygwin' -ignore 'Path etc\ssh_host_dsa_key' -ignore 'Path home\SYSTEM\.bash_history'
Contacting server...
Connected [//dumbopc/c:/cygwin -> //xps/c:/cygwin]
Looking for changes
  Waiting for changes from server
Reconciling changes
local          xps
         error            etc
[root 1]: Error in digesting c:/cygwin/etc/ssh_host_dsa_key:
c:/cygwin/etc/ssh_host_dsa_key: Permission denied
         error            home
[root 1]: Error in digesting c:/cygwin/home/SYSTEM/.bash_history:
c:/cygwin/home/SYSTEM/.bash_history: Permission denied
...
Proceed with propagating updates? [] g
Propagating updates    
UNISON 2.32.52 started propagating changes at 04:11:26 on 27 Feb 2013
[ERROR] Skipping etc
  [root 1]: Error in digesting c:/cygwin/etc/ssh_host_dsa_key:
c:/cygwin/etc/ssh_host_dsa_key: Permission denied
[ERROR] Skipping home
  [root 1]: Error in digesting c:/cygwin/home/SYSTEM/.bash_history:
c:/cygwin/home/SYSTEM/.bash_history: Permission denied
...
UNISON 2.32.52 finished propagating changes at 04:11:28 on 27 Feb 2013
Saving synchronizer state
Synchronization complete at 04:11:30  (6 items transferred, 2 skipped, 0 failed)
  skipped: etc
  skipped: home



# Version 2.40
C:\Program Files\Unison>"Unison-2.40.102 Text.exe"  'c:\cygwin' 'socket://xps:4321/c:\cygwin'
Contacting server...
Fatal error: Wrong number of roots: 2 expected, but 4 provided ('c:\cygwin', 'socket://xps:4321/c:\cygwin', , )
(Maybe you specified roots both on the command line and in the profile?)


@REM DOS
C:\cygwin\etc>type ssh_host_dsa_key
Access is denied.

# Cygwin
$ ls -l /etc/ssh_host_dsa_key
-rw------- 1 SYSTEM None 668 Aug 30  2010 /etc/ssh_host_dsa_key

$ cat /etc/ssh_host_dsa_key
-----BEGIN DSA PRIVATE KEY-----

Befehlszeilenreferenz:

http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#prefs

Antwort1

Ich glaube, Sie müssen Version 2.40 verwenden. Ich glaube, Version 2.40 hat einen Fehler ausgegeben, weil default.pref nicht leer war. Löschen Sie %HOME%.unison\default.pref oder $HOME/.unison/default.pref. Sie müssen es außerdem ausdrücklich anweisen, die Änderungszeiten mit --times beizubehalten.

verwandte Informationen