Skip to main content

Module diff

Module diff 

Source
Expand description

evorule diff —— 对比两个 fact log(按 FactId 对齐,非 HashSet)

§P0-4 修复

原实现用 HashSet::difference,会丢失重复行且无序。 新实现按数组下标(FactId 顺序)对齐,逐 fact 比对:

  • [~] 两边都有但内容不同
  • [-] 只在 A
  • [+] 只在 B
  • 全相同输出 (identical)

§为什么不用 LCS

Fact 没有自然顺序的“行“概念,LCS 会错位匹配丢失 id 不一致信息。 按 FactId 对齐是因果链语义的正确做法。

Functions§

run
执行 diff 子命令