使用 include-from 归档到另一台计算机时,rsync 会复制文件

rsync duplicates files when archiving to another computer when using include-from

背景:

我买了一台新电脑,我正在尝试使用 rsync 将文件复制到它上面(Apple 的迁移助手反复到达剩余 16 分钟然后永远挂起——我正在尝试通过使用 rsync 来解决这个问题).

问题:

我正在尝试将文件从旧计算机复制到新计算机。我正在 运行 在我的新计算机上运行以下脚本。

# in Dropbox/migrate.sh:
set -x

IP=10.1.1.5
rsync -navzhe ssh --include-from="Dropbox/migration_files.txt" --exclude="*" $IP:.* ~



# in Dropbox/migration_files.txt:
.lein/
.lein/profiles.clj
bmaddy/
bmaddy/4clojure.clj
Desktop**

预计:

我希望看到这样的内容:

$ Dropbox/migrate.sh 
++ IP=10.1.1.5
++ rsync -navzhe ssh --include-from=Dropbox/migration_files.txt '--exclude=*' '10.1.1.5:.*' /Users/bmaddy
receiving file list ... done
./
.lein/
.lein/profiles.clj
Desktop/
Desktop/piano.txt
bmaddy/
bmaddy/4clojure.clj

实际:

我实际看到的是这样的:

$ Dropbox/migrate.sh 
++ IP=10.1.1.5
++ rsync -navzhe ssh --include-from=Dropbox/migration_files.txt '--exclude=*' '10.1.1.5:.*' /Users/bmaddy
receiving file list ... done
./
.lein/
.lein/profiles.clj
Desktop/
Desktop/piano.txt
bmaddy/
bmaddy/4clojure.clj
bmaddy/.lein/
bmaddy/.lein/profiles.clj
bmaddy/Desktop/
bmaddy/Desktop/piano.txt
bmaddy/bmaddy/
bmaddy/bmaddy/4clojure.clj

当我实际上 运行 这个(没有 -n)时,Desktop.leinbmaddy 中的所有文件都在 bmaddy目录。

有谁知道为什么这些文件会被复制以及我如何才能阻止这种情况发生?

$ rsync --version
rsync  version 2.6.9  protocol version 29

这是我找到的最终使事情正常工作的解决方案:

# in Dropbox/migrate.sh
set -x

IP=10.1.1.5

rsync -navzhe ssh --include-from="Dropbox/migration_files.txt" --exclude="*" $IP:. ~

# in Dropbox/migration_fiels.txt
/.lein/
/.lein/profiles.clj
/bmaddy/
/bmaddy/4clojure.clj
/Desktop**