【问题标题】:How to run swiftlint for git diff files only如何仅为 git diff 文件运行 swiftlint
【发布时间】:2019-09-21 15:32:51
【问题描述】:

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

【问题讨论】:

    标签: swift git version-control swiftlint


    【解决方案1】:

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

    以下代码适用于暂存文件

    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
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2018-12-16
        • 2018-02-07
        • 2012-02-07
        • 2021-10-13
        • 2013-03-02
        • 1970-01-01
        • 2021-05-02
        • 2020-09-06
        • 1970-01-01
        相关资源
        最近更新 更多