【发布时间】:2012-06-10 20:56:03
【问题描述】:
当客户端推送到远程 git 存储库(裸机)时,我想要一个钩子,它可以在传入的更改文件上自动运行 JSHint,并在 JSHint 返回错误时拒绝提交。我只关心确保主分支符合我们的 JSHint 配置。所以我有这个脚本:
#!/bin/bash
# --- Command line
refname="$1"
oldrev="$2"
newrev="$3"
branch=${refname#refs/heads/}
echo ${refname}
echo ${oldrev}
echo ${newrev}
echo ${branch}
if [ "$branch" == "master" ]
then
echo "Need to JSHint" >&2
exit 1
fi
# Not updating master
exit 0
我想我有两个问题:
- 如何获取推送中更改的文件列表?
- 如何将这些文件传递给 JSHint?
【问题讨论】:
-
其他解决方案是[pre-commit hook][1]。 [1]:stackoverflow.com/questions/15703065/…