- 自动保存暂不实现:仅保留配置入口与 UI 占位,不触发后台保存任务。
- 自动分支检测暂不实现:不再根据回滚历史自动派生路线,分支由玩家手动创建与切换。
- 保存安全优先:引入“存档稳定性检测”,避免快速保存抓到未完成写入的存档。
目标:保存前确认存档文件已经稳定,减少“保存了旧数据/半写入数据”的概率。
建议流程:
- 扫描存档目录文件(应用 ignore 规则),记录
size + mtime。 - 等待稳定窗口(例如 1~2 秒)后再次扫描。
- 若两次结果一致,认为稳定;否则最多重试 N 次。
- 若仍不稳定,提示用户选择:
强制保存:跳过稳定检测直接保存;稍后再试:退出保存流程;取消:放弃本次保存。
- 稳定后执行
git add+git commit。
备注:稳定检测应该是保存流程的一部分,TUI/CLI 共享同一套判断逻辑。
目标:避免玩家在未保存的情况下误触“回滚/切换路线/创建路线”造成最新存档丢失。
策略:
load、route switch、route create默认要求工作区干净。- 如果工作区脏,提供明确的三选一确认:
保存:先执行稳定保存,再继续操作;丢弃:硬重置并清理未跟踪文件,然后继续;取消:退出操作。
- 引入专门的“丢弃更改”操作(需二次确认)。
autosave配置仅作为占位信息(启用/间隔/最大数量),暂不触发后台保存。- TUI 与 CLI 仅展示配置,不会主动创建 autosave 提交或分支。
gitsave/src/manager/mod.rs:ConfigManager::load_auto_save_config()gitsave/src/main.rs:handle_autosave()(仅配置入口)gitsave/src/cli/mod.rs:Autosave命令定义