我正在尝试使用Unison在 Windows 上的主机和 Fedora Linux 上的来宾 VM 之间同步文件。
我希望自动管理所有冲突:
- 默认情况下,必须以有利于主机 (Windows) 的方式解决所有冲突
- 必须解决一些选定的目录以支持来宾(Fedora)
这是我的default.prf
文件:
root = c:\www
root = socket://192.168.40.100:9999//home/ben/www
# only synchronize these dirs
path = site1.com
path = site2.com
# do not synchronize PHPStorm's config
ignore = Name .idea
# resolve conflicts in favour of the host by default
prefer = c:\www
# resolve directories managed by CLI commands on the guest in favour of the guest
preferpartial = BelowPath site1.com/node_modules -> socket://192.168.40.100:9999//home/ben/www
preferpartial = BelowPath site1.com/public/build -> socket://192.168.40.100:9999//home/ben/www
preferpartial = BelowPath site1.com/var -> socket://192.168.40.100:9999//home/ben/www
preferpartial = BelowPath site1.com/vendor -> socket://192.168.40.100:9999//home/ben/www
preferpartial = BelowPath site2.com/node_modules -> socket://192.168.40.100:9999//home/ben/www
preferpartial = BelowPath site2.com/vendor -> socket://192.168.40.100:9999//home/ben/www
# automatically accept default (nonconflicting) actions
auto = true
# don't keep backup copies
backups = false
# batch mode: ask no questions at all
batch = true
# synchronize continuously (watch for changes)
repeat = watch
上面的配置根本不起作用:当我在主机和来宾、内部和外部preferpartial
目录中创建冲突文件时,冲突要么全部解决,要么全部支持来宾,要么全部支持主机。
(我设置了一个测试脚本,在其中创建具有“HOST”或“GUEST”内容的冲突文件,启动 Unison,然后cat
在 Unison 完成同步后启动文件)。
我究竟做错了什么?