我們正在使用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