我在工作电脑和家里的台式机之间创建了 Unison 设置。这样,即使我忘记在工作时向 GIT 提交某些内容(反之亦然),我也可以在家里继续工作(反之亦然)。
在我的 Unison 配置文件中,我使用以下属性:
auto = true
batch = true
silent = false
confirmbigdel = false
times = false
perms = 0
prefer = newer
copythreshold = 0
copyprog = /usr/bin/rsync -avz -X --checksum --partial --append-verify -e ssh
copyprogrest = /usr/bin/rsync -avz -X --checksum --partial --append-verify -e ssh
这确实能完成工作,除了一个小问题:可执行标志未传输。当我在.sh
工作中对文件应用更改时,我必须chmod +x
在家里的计算机上再次手动执行此操作。
这面旗帜可以转让吗?
答案1
来自手动的:
烫发 n
此首选项的整数值是一个掩码,指示应同步哪些权限位。默认情况下,它设置为 0o1777:除 set-uid 和 set-gid 位之外的所有位都已同步(同步这些后面的位可能会造成安全隐患)。如果要同步所有位,可以将此首选项的值设置为 -1。如果其中一个副本位于 FAT [Windows] 文件系统上,则应考虑使用 t fat 首选项而不是此首选项。如果您需要 Unison 根本不设置权限,请将此首选项的值设置为 0,并将首选项 t dontchmod 设置为 t true。
perms -1
会做你想做的事。