使用gerrit进行code review
gerrit系统提供了代码review的机制。要使用其代码review的功能,需要进行一些配置,添加一些相关的工具,并设置review人等相关信息。具体步骤如下:
1.下载commit-msg文件。
该文件是一个钩子文件,此文件的作用是在执行commit命令的时候,自动在提交记录中创建“Change-Id”标签,此标签是提交到gerrit上进行代码review的必要条件。commit-msg文件的下载下来之后应该放到本地git仓库的hooks目录下。通过执行以下命令来完成下载(需要先进入git仓库的根目录):
scp -p -P 29418 [user]@sina.git.intra.sina.com.cn:hooks/commit-msg .git/hooks/
上述命令的“[user]”替换为自己的gerrit账号,即邮箱前缀。
下载完成之后,可以查看.git/hooks目录下是否已经存在了commit-msg文件。同时,可以对当前git仓库进行一处改动并提交,然后查看提交记录,看是否存在“Change-Id”标签,如存在,说明钩子文件正常工作。
git commit提交到本地库
首先,使用下面这个命令来设置git默认的编辑器,其中的“editor”替换成你自己的编辑器,如Vim、Emacs、gedit、subl等:
git config --global core.editor "editor -w"
然后,在做提交的时候使用命令不要写"-m"参数,直接写成git commit这样子就行,这样就会自动打开你刚才指定的编辑器,你可以在里面添加大段注释。
2.修改config文件
进入当前git仓库的.git目录下,能看到一个config文件。用文本编辑器打开此文件,查看文件中是否存在“[remote "review"]”相关的设置,如不存在,则在文件末尾添加如下内容:
[remote "review"]
pushurl = ssh://[user]@xx.xx.xx.xx/[repository]
push = HEAD:refs/for/[branch]
receivepack = git receive-pack --reviewer [reviewer]
其中,“[user]”替换为自己的gerrit账号,“[repository]”替换为当前仓库在gerrit上的路径,“[branch]”替换为代码所提交的分支,“[reviewer]”替换为自己的review人的gerrit账号(必须为gerrit存在的账号,否则无法正常push代码)。示例:
[remote "review"]
pushurl = ssh://user@xx.xx.xx.xx
push = HEAD:refs/for/development
receivepack = git receive-pack --reviewer user
3.push代码
完成上述配置之后,就能进行代码review了。当你需要把本地代码push到服务器时,不能直接git push,而应当执行如下命令:
git push review
4. 这样gerrit会跟你发送邮件,然后进行代码的review工作。
