我们正在使用GitLab 8.5.0版。我正在编写一个自定义的服务器端更新挂钩来锁定特定的分支。它工作的很好,但是,我想让GitLab合并请求得到处理。所有GitLab合并请求通常在提交描述中都有“请参阅合并请求”注释。因此,我想只允许那些包含提交消息“请参阅合并请求”的提交。但是,它并不按我想的方式工作。锁定分支但允许gitlab合并请求
任何其他可能的方式只允许gitlab合并请求?
#!/usr/bin/env bash
GIT_COMMIT_MSG=`git log -1 HEAD --pretty=format:%s`
if [[ "$1" == refs/heads/master ]]; then
if [[ "$GIT_COMMIT_MSG" =~ *"See Merge request"* ]]; then
echo "This is GitLab Merge Request"
else
echo $GIT_COMMIT_MSG
echo "ERROR: you are not allowed to update master" >&2
exit 1
fi
fi
如果你允许任何提交文本'See Merge request'来通过,那么会阻止恶意用户插入这个文本来欺骗你的脚本? –
我知道这不是一个正确的方法..如果有任何其他权利的机制来跟踪gitlab提交 – user6930