gpt4 book ai didi

Git 钩子(Hook)检测包含特定字符串的文件更改

转载 作者:太空狗 更新时间:2023-10-29 14:20:50 25 4
gpt4 key购买 nike

我想警告用户,如果他们的代码包含特定字符串并通过电子邮件提醒人们。

现在我正在使用接收后 Hook ,因为检测需要在服务器端完成。

我正在更新服务器端存储库并运行类似 git diff-tree -r --name-only --no-commit-id $2 | xargs grep foo 检测错误字符串“foo”。

这种方法的问题:

  • 我不喜欢在服务器端维护存储库的整个工作版本
  • 它扫描整个文件,而不仅仅是更改。 编辑 我解决了这个问题,将上面的内容替换为:git show $2 | grep ^+ ...

有更好的方法吗?

最佳答案

如果您使用的是 gitolite V3(或“g3”),请尝试将支票放入 VREF .

For every refex starting with VREF/FOO/ in a rule that applies to this user, a call to a program called FOO is triggered (stored in $LOCAL_CODE/VREF).
Note that the program isn't even called if the VREF rule doesn't apply to that user.

您可以准确控制要向哪些(组)用户应用此警告。
如果不满足您的条件(无错误字符串),您可以拒绝推送。

然而,这仍然需要先更新工作目录(因为 Gitolite 默认只管理裸仓库)

关于Git 钩子(Hook)检测包含特定字符串的文件更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11569263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com