按照以下链接中的步骤安装Gerrit(版本2.13.1):
https://gerrit-review.googlesource.com/Documentation/install-quick.html
在Ubuntu 16.04环境中。
在' $ site_path' / hooks中创建了一个hooks文件夹,并添加了一个ref-update挂钩文件,该文件只退出并返回代码为1。
为此文件提供了可执行权限。
Gerrit服务器重启后,允许我进行推送操作。
答案 0 :(得分:2)
从Gerrit 2.13开始,你必须安装hooks插件。
在Gerrit 2.13 Release Notes和Gerrit Documentation上查看更多详情。
hooks插件是一个核心插件,它打包在Gerrit war文件中,可以安装执行:
java -jar gerrit.war init -d <site_path> --install-plugin=hooks
更多信息here。
答案 1 :(得分:2)
我正在使用Gerrit 2.14。这对我有用:
ref-update hook中的行为更改
现在在ref update操作完成之前调用ref-update挂钩,而不是在每次收到的提交时调用。 ref-update挂钩的先前行为被移动到名为commit-received的新挂钩中。
使用ref-update挂钩的网站应将挂钩文件重命名为commit-received。
https://www.gerritcodereview.com/releases/2.14.md#Behavior-change-in-ref_update-hook
答案 2 :(得分:0)
您也可以手动添加挂钩:
END
您需要添加 gerrit.config 文件:
import sys
if len(sys.argv) < 2:
filename= input('what file? ')
handle = open(filename, 'r')
elif sys.argv[1] == '-':
handle = sys.stdin
else:
handle = open(sys.argv[1], 'r')
appearances = []
position = 0
allwords = {}
for line in handle.readlines():
words = line.split()
for w in words:
w = w.lower()
if w in allwords.keys():
allwords [w] += 1
else:
allwords[w] =1
for w in allwords:
if not w in allwords:
allwords[w] = []
appearances.append(position)
position +=1
else:
appearances.append(position)
position += 1
handle.close()
keys = sorted(allwords.keys())
for k in keys:
print('{:15s} {} {}'.format(k, appearances, position))
一般来说:
chmod +x ref-update