Почему -r не работает для rsync в Windows?

Почему -r не работает для rsync в Windows?

Я запускаю это из командной строки: rsync -rltz --executability -C --filter=':- .gitignore' -e "ssh -i /cygdrive/c/Users/dstein/.ssh/id_rsa" myfolder/ [email protected]:/path/to/place

У меня есть PATHсреда, на которую указывает avriable, cygwin/binпоэтому я могу использовать ее rsync, не находясь в cygwin, что вызывало ряд других проблем.

Я наконец-то заставил это работать, так что если я изменяю файл, myfolderон загружается в place. Однако если я редактирую какие-либо файлы, которые далее вложены в myfolderуказанную выше команду, для них это не работает.

РЕДАКТИРОВАТЬ Оказывается, дело не в глубине, а в этой конкретной папке с таким названием. coreУ нее такие же разрешения, как и у всех остальных папок, которые прекрасно синхронизируются.

решение1

Похоже, что ваша проблема связана с -Cфлагом. rsyncФлаг -C— это правило исключения CVS. Он автоматически игнорирует файлы, соответствующие внутренним правилам CVS по исключению файлов.

Эти исключения включают в себя 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/

Правило, которое нарушил ваш каталог, находится coreв конце строки 2.

решение2

Позвольте мне удалить все и вставить, как мы пересеклись. Если вы удалите завершающий / из myfolder/, весь каталог будет скопирован. Но у вас будет myfolder внутри. Я не понимаю, почему -r не работает.

Добавьте -vv, чтобы получить больше информации.

Связанный контент