Files
ElyOffice/tasks/reviews/C13.2-r2.md
T

1.8 KiB
Raw Blame History

FAIL

apps/ely-tree/src/diff.rs:219 — 反向切片保留了所选删除行的无末尾换行标记,即使恢复后的该行后面还有保留行,导致取消暂存时静默拼接内容,违反 TREE-04。复现:HEAD 为 "one\ntwo",索引与工作树为 "one\nTWO\nmore\n",只选 −two 取消暂存;Git apply 返回成功,索引变成 "one\ntwoTWO\nmore\n",预期为 "one\ntwo\nTWO\nmore\n"。应用路径回归探针与真窗口均复现;上一轮新增的追加行回归通过。修复方向:所选恢复行也按切片后实际行边界生成换行标记,覆盖单选删除行及保留新增行的反向场景,断言索引字节。

apps/ely-tree/src/diff.rs:140 — 解析器把一个路径的差异当作单段补丁,遇到文件类型变化时在第二个文件头报错,普通文件与符号链接之间的差异无法显示,违反 TREE-03。复现:提交内容为 "one\ntwo\n" 的 a.txt,再把它替换为指向有效 other.txt 的符号链接;点击改动区 a.txt,Git 输出同一路径的删除与新增两段,解析器返回 an unread diff line "diff --git a/a.txt b/a.txt",真窗口记录同一读取错误。应用路径回归探针失败。修复方向:识别同一路径类型变化的多段输出,正确呈现两侧内容并采用整份操作,补上改动区与已暂存区的回归。

../Ely-GPUI-Components/src/git/rows.rs:26 — e226d79 新拆出的文件保留了 14 词注释,超过本轮明确的十词上限。复现:按空白分词,"A folded stretch: its place among the stretches and how many lines it hides." 得到 14;上一轮指出的三条注释已各缩至十词以内,viewer.rs 当前为 431 行。修复方向:将此注释缩至十词以内,并让组件注释检查覆盖新拆出的文件。