5.7 KiB
5.7 KiB
如何进行 +2 Code-Review 评审
📋 什么是 +2 Code-Review?
+2 Code-Review 是 Gerrit 中的最高评审评分,表示批准合并。通常需要管理员权限或具有相应权限的用户才能给出。
🌐 方法一:通过 Web 界面(推荐)
步骤 1:打开变更页面
-
访问变更 URL,例如:
http://101.43.95.130:8080/c/zhini-im/+/4- 或访问所有变更列表:
http://101.43.95.130:8080/#/q/status:open
-
点击要评审的变更进入详情页
步骤 2:进行评审
-
查看代码差异
- 在变更页面查看所有文件修改
- 可以点击代码行添加行内评论
-
添加评审投票
- 滚动到页面底部,找到 "Review" 区域
- 在 "Code-Review" 下拉菜单中选择 "+2"
- (可选)在评论框中添加评审意见
- 点击 "POST" 按钮提交评审
步骤 3:合并变更
当变更获得 +2 Code-Review 后:
- 如果还启用了 Verified 标签,需要 +1 Verified 才能自动合并
- 或者可以点击 "Submit" 按钮手动合并
💻 方法二:通过 SSH 命令行
使用 gerrit review 命令
# 基本语法
ssh -p 29418 renjianbo@101.43.95.130 gerrit review <Change-Number>,<Patch-Set> --code-review +2
# 示例:给 Change 4 的第一个补丁集 +2
ssh -p 29418 renjianbo@101.43.95.130 gerrit review 4,1 --code-review +2
# 示例:给 Change 4 的最新补丁集 +2(使用 --current)
ssh -p 29418 renjianbo@101.43.95.130 gerrit review 4 --code-review +2
# 同时添加评论
ssh -p 29418 renjianbo@101.43.95.130 gerrit review 4 --code-review +2 --message "LGTM, 批准合并"
批量给多个变更 +2
# 给 Change 4-14 都 +2
for i in {4..14}; do
ssh -p 29418 renjianbo@101.43.95.130 gerrit review $i --code-review +2
done
🔐 权限要求
检查是否有 +2 权限
-
查看您的权限:
- 访问:
http://101.43.95.130:8080/#/settings - 查看您所属的用户组
- 访问:
-
检查项目权限:
- 访问:
http://101.43.95.130:8080/#/admin/projects/zhini-im,access - 查看 "Code-Review" 权限配置
- 访问:
如果没有 +2 权限,如何配置
如果您是管理员,可以配置权限:
-
访问项目权限页面:
http://101.43.95.130:8080/#/admin/projects/zhini-im,access
-
添加 Code-Review +2 权限:
- 点击 "Edit" 按钮
- 在 "Reference" 中选择
refs/heads/*或refs/for/* - 添加权限:
- Label Code-Review:
+2→ 分配给您的用户组(如Administrators或Developers)
- Label Code-Review:
- 保存更改
-
或者通过 SSH 配置:
# 在服务器上执行
cd /home/renjianbo/gerrit_install/review_site
# 给 Administrators 组添加 Code-Review +2 权限
ssh -p 29418 renjianbo@localhost gerrit set-access zhini-im -a refs/heads/* -g Administrators Label-Code-Review+2
# 或者给特定用户添加权限
ssh -p 29418 renjianbo@localhost gerrit set-access zhini-im -a refs/heads/* -u renjianbo Label-Code-Review+2
📝 完整的评审流程示例
示例 1:通过 Web 界面
- 打开变更:
http://101.43.95.130:8080/c/zhini-im/+/4 - 查看代码差异
- 滚动到底部,在 "Review" 区域:
- 选择 Code-Review: +2
- 添加评论(可选):"代码质量良好,批准合并"
- 点击 "POST"
- 如果满足合并条件,点击 "Submit" 按钮合并
示例 2:通过 SSH
# 给 Change 4 +2 并添加评论
ssh -p 29418 renjianbo@101.43.95.130 gerrit review 4 --code-review +2 --message "代码质量良好,批准合并"
# 如果需要同时给 Verified +1
ssh -p 29418 renjianbo@101.43.95.130 gerrit review 4 --code-review +2 --verified +1 --message "代码质量良好,已验证,批准合并"
🎯 快速参考
评审投票选项
-
Code-Review:
+2= 批准合并(需要管理员或相应权限)+1= 看起来不错,但需要其他人批准0= 无意见-1= 需要修改-2= 拒绝
-
Verified:
+1= 验证通过(通常由 CI 系统或管理员给出)0= 未验证-1= 验证失败
常用 SSH 命令
# 查看变更详情
ssh -p 29418 renjianbo@101.43.95.130 gerrit query --format=JSON change:4
# 给变更 +2
ssh -p 29418 renjianbo@101.43.95.130 gerrit review 4 --code-review +2
# 给变更 +2 并添加评论
ssh -p 29418 renjianbo@101.43.95.130 gerrit review 4 --code-review +2 --message "LGTM"
# 提交变更(合并)
ssh -p 29418 renjianbo@101.43.95.130 gerrit review 4 --submit
# 查看所有待合并的变更
ssh -p 29418 renjianbo@101.43.95.130 gerrit query --format=JSON status:open is:mergeable
⚠️ 注意事项
- 权限要求:+2 通常需要管理员权限或项目所有者权限
- 自评限制:通常不能给自己的变更 +2(除非配置了相应权限)
- 合并条件:变更需要同时满足:
- Code-Review: +2
- Verified: +1(如果启用了)
- 提交者:即使获得了 +2,通常也需要点击 "Submit" 按钮才能合并
🔧 如果无法 +2
检查权限
# 查看您的用户组
ssh -p 29418 renjianbo@101.43.95.130 gerrit ls-members --group Administrators
# 查看项目权限
ssh -p 29418 renjianbo@101.43.95.130 gerrit show-access zhini-im
临时解决方案
如果没有 +2 权限,可以:
- 使用 +1 Code-Review(如果允许)
- 或者配置项目允许直接推送(绕过评审)
- 或者联系管理员添加权限
📚 相关链接
- Gerrit 首页:
http://101.43.95.130:8080 - 所有变更:
http://101.43.95.130:8080/#/q/status:open - 项目权限:
http://101.43.95.130:8080/#/admin/projects/zhini-im,access - 用户设置:
http://101.43.95.130:8080/#/settings