Repository navigation
Conversation
There was a problem hiding this comment.
文件筛选这里还有两处问题,合并前请修一下:
-
cmds/cmd_format_changed.py:15的--diff-filter=ACMR漏了T。把已跟踪的符号链接换成普通.c文件后,Git 会把它记为类型变更。无论检查暂存改动,还是用--base检查已提交改动,都会漏掉这个文件,输出No changed C/C++ files to process.并返回 0。请纳入类型变更,再过滤当前仍为符号链接的文件,并补上这两种情况的测试。 -
changed_files()没有排除子模块目录下的候选路径。分支先提交新增vendor/new.c,再把vendor/暂存替换为子模块;如果子模块里也有new.c,运行format-changed --base <新增文件前的提交>就会选中并改写它。--ignore-submodules=all挡不住从 HEAD 历史差异里取出的旧路径。请根据当前索引中 mode 为160000的条目排除子模块目录下的文件,并补一个回归测试。
这两种情况在拆分前的 RT-Thread/env-windows#43 中都已复现,拆分后这里的筛选逻辑仍然存在同样的问题。
|
看了 a90dbc7,上次提的已暂存/已提交类型变更和子模块问题都修好了,还差一个未暂存的情况。 在 建议读取未暂存 diff 时保留 请补一个“符号链接换成普通源码、但尚未暂存”的回归测试:未格式化时 |
Rbb666
left a comment
There was a problem hiding this comment.
这 4 处都在 Windows 上复现了,请修正后再合并。优先处理 Git 和 clang-format 的查找顺序,避免运行 --check 时执行待审查仓库里的程序。其余三处的复现步骤和修改建议写在对应代码行。
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
准备 PR 时需要统一格式化本次改动的 C/C++ 文件。命令入口和 Git 文件筛选逻辑属于 Env 的脚本功能,应由 env 仓库维护,并复用现有 Python 包安装与命令分发机制。
你的解决方案是什么 (what is your solution)
请提供验证的bsp和config (provide the config and bsp)
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up