2

我正在开发一个 iOS Swift 项目。Git 被用于版本控制。我只想swiftlint为新更改的文件运行工具。换句话说,我只想检查直到上次提交之前已编辑的文件的静态问题。如果可能,我会将脚本添加到 中Build phase -> Run script,以便每个开发人员都可以仅找到他们正在处理的文件的静态问题。可能吗?

4

2 回答 2

7

在构建阶段添加以下命令 - 运行脚本将很有帮助。

下面的代码将适用于暂存文件

git diff --cached --name-only | grep "\.swift" | while read filename; do
    swiftlint lint --path "$filename";
done

对于未暂存的文件,您需要删除--cached参数

git diff --name-only | grep "\.swift" | while read filename; do
    swiftlint lint --path "$filename";
done
于 2019-05-03T05:38:11.213 回答
1

有一个项目lint-diffs可以在差异输出文件上运行任何 linter。

要报告所有 linter 错误,请将always_report=.*, 设置为仅报告差异行,将此留空。这允许对遗留回购进行增量改进。

于 2019-12-16T22:43:15.623 回答