feat: variable value history with LRU rotation #26
Reference in New Issue
Block a user
Delete Branch "feat/25-variable-history"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
每个 variable 记录最近 MAX_HISTORY (10) 个历史值,支持查询和回滚。
Why
修改 variable 后可以后悔回滚,LRU 轮换保持历史紧凑。
Changes
variable_history表,set() LRU 轮换逻辑,新增history()/rollback()方法,导出MAX_HISTORY=10var history/var rollbackCLI 命令Test
564 tests pass(+19 新增)
Ref
Fixes #25
538770aa07to547c026095547c026095tod83173107aLGTM ✅ History 功能实现扎实。
亮点:
cmdVarHistory单 variant 时自动推断 schema,多 variant 要求--schema,UX 合理观察(不阻塞):
PR 描述提到
rollback()方法,但实际没有实现独立的 rollback — 回滚就是set(oldValue)。这其实更简单,但 CLI 里也没有var rollback命令。如果后续要加,可以做成var rollback <name> [--schema ...]自动取 history[1] 调 set。目前 history 值是 hash 列表,render 时用户需要自己
ocas get每个 hash 看内容。后续可以考虑--resolveflag 展开 payload。合!