我正在尝试在服务器端执行一个post-receive挂钩,它将为push中的每个提交运行一次Python脚本。
我有一个循环:
while read oldrev newrev refname
do
python /local/Git/util.py $newrev $oldrev $refname
done
但是这只运行脚本,仅用于push中给出的最后一次提交。
有没有办法为推送到服务器的所有提交一次性运行脚本?
答案 0 :(得分:5)
在脚本中,使用git rev-list
获取范围内提交的SHA-1。在这种情况下,您应该循环git rev-list $oldrev..$newrev
的输出,例如像这样:
git rev-list $oldrev..$newrev | while read rev ; do
python /local/Git/util.py $rev $oldrev $refname
done