為什麼 -r 在 Windows 上不能用於 rsync?

為什麼 -r 在 Windows 上不能用於 rsync?

我從命令提示字元運行此命令: 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上述命令中的任何文件,則不適用於這些文件。

編輯 事實證明,這不是深度,而是這個名為coreIt 的特定資料夾與同步正常的所有其他資料夾具有相同的權限。

答案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/ 中刪除尾隨 /,則整個目錄會被複製。但你會在裡面有我的資料夾。我不明白為什麼 -r 不起作用。

輸入 -vv 以獲得更多資訊。

相關內容