mise bootstrap dotfiles watch
- 用法:
mise bootstrap dotfiles watch [--once] [-J --json] - 效果: 修改状态
- 源代码:
src/cli/dotfiles/watch.rs
文件发生变化时保存跟踪的文件
在前台运行:为每个自动保存的跟踪条目安装文件系统监视器,在变化后的文件保持安静达到 history.watch.debounce 时间后保存检查点(持续变化的文件不会延迟其他文件;history.watch.max_interval 会强制保存该文件),并在启动时、每隔 history.watch.reconcile 时间以及配置发生变化时协调整个集合。手动保存条目永远不会被监视。
使用已连接的配置仓库时,监视器还会根据 settings.history.sync 进行同步:在 sync 模式下,保存后在 history.sync_interval 时间内发布,每隔 history.fetch_interval 获取一次,并在完整配置无冲突后应用传入的更改;在 fetch-only 模式下仅获取;在 manual 模式下不进行网络操作。同步失败后会退避,并在保存继续进行的同时重试。--once 会执行一次协调和一次此类同步。
内置的 history-watch 服务会为你运行此功能:
[bootstrap.services.mise-history]
builtin = "history-watch"退出代码:历史记录被禁用或已有其他监视器运行时为 0;git 不可用、无法打开存储或无法安装任何监视器时为 1。失败的捕获操作会采用退避策略重试,绝不会丢弃待处理的更改;如果捕获操作会与其他历史记录操作重叠,则会延后执行。
标志
--once— 协调并同步一次后退出(用于定时器和 cron)-J --json— 每行输出一个 JSON 对象,而不是日志行-h --help— 输出帮助信息
示例:
mise dot watch
mise dot watch --once # one reconcile, for a timer
mise dot watch --json