【问题标题】:Is there a linter check to confirm that a related file has been updated in the commit?是否有 linter 检查以确认相关文件已在提交中更新?
【发布时间】:2020-09-29 04:28:30
【问题描述】:

我曾经在一个看起来像这样的文件中看到(不记得在哪里)lint 检查: “如果这个文件被修改了,如果文件 /somehwere/a 和 /somehwere/b 没有在同一个提交中被修改,我会抱怨”。

你知道任何 linter 能够处理这样的事情吗?也许不是 linter,而是可以集成到 github 存储库的东西?

【问题讨论】:

    标签: github commit linter


    【解决方案1】:

    如果您为存储库设置了 CI 系统,则可以运行如下命令,如果提交有问题,该命令将退出非零值,如果所有提交都正常,则退出零值($BASE 和 $HEAD适当设置):

    git rev-list $BASE..$HEAD | \
        xargs -L1 sh -c 'lines=$(git show --name-only $0 | grep -e somewhere/a -e somewhere/b | wc -l); \
        test $lines -ne 1 || { echo "bad commit $0"; false; }'
    

    任何合适的 CI 系统都可以通过运行 shell 脚本来测试这一点,如果它退出非零则失败。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 2011-12-04
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多