发布日期: 2026-02-12
版本号: v3.2.0
类型: 工作流增强版本
v3.2.0 将原先“仅检查问题”的流程升级为“检查 + 批量修复”的闭环。
- 在 GUI 执行
Validate -> Compare后,若发现问题,会自动切换到Repair页 Validate(mutual/class2)、Split/Merge前置校验失败时,也会自动生成可修复问题并切换到Repair- 可按问题类型查看并批量多选路径
- 为选中项指定统一修复策略并一次性执行
mtime differs but hash same- 用文件夹1时间对齐文件夹2
- 用文件夹2时间对齐文件夹1
content mismatch(统一覆盖原size/hash mismatch)- 用文件夹1覆盖文件夹2
- 用文件夹2覆盖文件夹1
missing file in new/extra file in new- 复制补齐到另一侧
- 或按基准侧删除选中项
missing/extra dir与missing/extra placeholder- 按侧创建目录
- 删除空目录
doc/res修复- 错侧文件搬移并补对应占位符
- 缺失占位符补齐
- 孤立占位符删除
complete修复- 去除占位符后缀命名(重命名)
- 删除符号链接
- 新增 Compare 结构化问题模型,支持 GUI 直接消费问题列表
- 新增批量修复引擎与修复日志输出(
Repair.log) - Compare 中 mtime 比对增加 1 秒容差,避免仅亚秒抖动导致误报
- Compare 索引阶段恢复细粒度进度日志(避免“长时间无反馈”)
- Logger 增加线程安全写入,保证并行索引日志稳定
- Split / Merge / Validate / Repair / Index 均提供“当前页内联日志框”
- 统一底部状态与活动动画显示;修复状态回调递归导致的卡顿风险
- Repair 列表改为左右并排展示
size / mtime / hash字段,便于快速决策 doc/res根目录名不一致时不再强制改名:Merge(以及 CLI 的 Mutual)改为“风险提示 + 用户确认”后可继续- 当名称不一致且继续合并时,输出目录默认采用 Doc 侧名称,行为可预期
新增自动化测试:
tests/test_compare_repair.py- 验证 Compare 问题识别(mtime/hash/size/missing/extra)
- 验证批量修复后再次 Compare 可消除对应问题
tests/test_gui_batch_repair_flow.py- 模拟用户在 GUI 中执行 Compare -> Repair 的批量修复点击流程
- 覆盖 Validate(mutual) 与 Split 前置校验失败后自动跳转 Repair
tests/test_gui_log_capture.py- 覆盖状态回调递归风险,确保 GUI 进度/活动动画稳定
tests/test_cli_smoke.py- 覆盖 CLI 帮助、compare 阻断错误码、index 成功路径
本次完整回归(2026-02-12)执行并通过:
python -m unittest discover tests -vpython tests/test_gui_launch.pypython tests/test_gui.pypython tests/test_gui_batch_repair_flow.pypython tests/test_progress_feedback.py
发布团队: buptanswer
发布日期: 2026-02-12