Warum funktioniert -r für rsync unter Windows nicht?

Warum funktioniert -r für rsync unter Windows nicht?

Ich führe dies von meiner Eingabeaufforderung aus: rsync -rltz --executability -C --filter=':- .gitignore' -e "ssh -i /cygdrive/c/Users/dstein/.ssh/id_rsa" myfolder/ [email protected]:/path/to/place

Ich habe meine PATHUmgebung so eingerichtet, dass sie auf „Avriable“ verweist, cygwin/binsodass ich sie verwenden kann rsync, ohne in Cygwin zu sein, was eine Reihe anderer Probleme verursachte.

Ich habe es endlich zum Laufen gebracht, sodass wenn ich eine Datei darin ändere, myfoldersie nach hochgeladen wird place. Wenn ich jedoch Dateien bearbeite, die weiter darin verschachtelt sind, myfolderfunktioniert der obige Befehl für diese nicht.

BEARBEITEN Es stellt sich heraus, dass es nicht an der Tiefe liegt, sondern an diesem bestimmten Ordner mit dem Namen. coreEr verfügt über dieselben Berechtigungen wie alle anderen Ordner, die problemlos synchronisiert werden.

Antwort1

Es scheint, dass Ihr Problem mit der -CFlagge zusammenhängt. rsyncDie -CFlagge ist die CVS-Ausschlussregel. Sie ignoriert automatisch Dateien, die den internen CVS-Regeln zum Ausschließen von Dateien entsprechen.

Ausgeschlossen sind unter anderem man rsync(1):

RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #* .#*  ,*  _$*  *$
*.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln core 
.svn/ .git/ .hg/ .bzr/

Die Regel, gegen die Ihr Verzeichnis verstoßen hat, war die coream Ende von Zeile 2.

Antwort2

Lassen Sie mich alles löschen und einfügen, wie wir es gepostet haben. Wenn Sie das nachfolgende / aus myfolder/ entfernen, wird das gesamte Verzeichnis kopiert. Aber Sie werden myfolder an Ort und Stelle haben. Ich verstehe nicht, warum -r nicht funktioniert.

Geben Sie -vv ein, um weitere Informationen zu erhalten.

verwandte Informationen