¿Por qué -r no funciona para rsync en Windows?

¿Por qué -r no funciona para rsync en Windows?

Estoy ejecutando esto desde mi símbolo del sistema: rsync -rltz --executability -C --filter=':- .gitignore' -e "ssh -i /cygdrive/c/Users/dstein/.ssh/id_rsa" myfolder/ [email protected]:/path/to/place

Tengo mi PATHentorno disponible apuntando cygwin/binpara poder usarlo rsyncsin estar en cygwin, lo que estaba causando otros problemas.

Finalmente lo hice funcionar, así que si cambio un archivo, myfolderse sube a place. Sin embargo, si edito algún archivo que esté más anidado en myfolderel comando anterior, no funciona para ellos.

EDITAR Resulta que no es la profundidad, sino que esta carpeta específica con el nombre coretiene los mismos permisos que todas las demás carpetas que se sincronizan bien.

Respuesta1

Parece que tu problema está en la -Cbandera. La bandera rsyncde -Ces la regla de exclusión de cvs. Ignora automáticamente los archivos que coinciden con las reglas internas de CVS para excluir archivos.

Estas exclusiones son, de 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/

La regla que infringió su directorio fue la coredel final de la línea 2.

Respuesta2

Permítanme borrar todo e insertarlo a medida que cruzamos las publicaciones. Si elimina el final / de micarpeta/, se copiará todo el directorio. Pero tendrás mi carpeta dentro de su lugar. No entiendo por qué -r no funciona.

Introduzca -vv para obtener más información.

información relacionada