rootalias 的正确语法是
rootalias = //new-hostname//new-path -> //old-hostname//old-path
hostname
(通过在命令提示符下键入来查找本地计算机的主机名。)
因此,在我的情况下,两个驱动器都安装在本地计算机上,我必须像这样更改命令行:
老的:
unison -root "/media/frisch/DATEN_SSD/ISAS/" -root "/media/frisch/DATEN/Dok-Daniel/ISAS/"
新的:
unison -root "/mnt/DATEN_SSD/ISAS" -root "/mnt/DATEN/Dok-Daniel/ISAS" \
-rootalias "//frisch-ThinkPad-P51//mnt/DATEN_SSD/ISAS -> \
//frisch-ThinkPad-P51//media/frisch/DATEN_SSD/ISAS" \
-rootalias "//frisch-ThinkPad-P51//mnt/DATEN/Dok-Daniel/ISAS -> \
//frisch-ThinkPad-P51//media/frisch/DATEN/Dok-Daniel/ISAS"
然后我可以在新位置同步文件而无需缓慢的重新读取。
但是,请记住 Unison 作者的警告。
警告:该rootalias
选项很危险,只有在您确定自己知道自己在做什么的情况下才应使用该选项。特别是,仅当您确定 (1) 原始根目录和新别名都引用同一组文件,或 (2) 文件已重新定位以致原始名称现在无效时,才应使用它并且永远不会再被使用。(如果原始根目录和别名引用不同的文件集,Unison 的更新检测器可能会混淆。)在引入新的 之后rootalias
,最好交互式运行 Unison 几次(batch
关闭标志等)和仔细检查事情是否合理——特别是更新检测是否按预期工作。