Files
gerrit/如何进行+2评审指南.md
2025-12-22 17:12:39 +08:00

5.7 KiB
Raw Blame History

如何进行 +2 Code-Review 评审

📋 什么是 +2 Code-Review

+2 Code-Review 是 Gerrit 中的最高评审评分,表示批准合并。通常需要管理员权限或具有相应权限的用户才能给出。

🌐 方法一:通过 Web 界面(推荐)

步骤 1打开变更页面

  1. 访问变更 URL例如

    • http://101.43.95.130:8080/c/zhini-im/+/4
    • 或访问所有变更列表:http://101.43.95.130:8080/#/q/status:open
  2. 点击要评审的变更进入详情页

步骤 2进行评审

  1. 查看代码差异

    • 在变更页面查看所有文件修改
    • 可以点击代码行添加行内评论
  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 权限

  1. 查看您的权限

    • 访问:http://101.43.95.130:8080/#/settings
    • 查看您所属的用户组
  2. 检查项目权限

    • 访问:http://101.43.95.130:8080/#/admin/projects/zhini-im,access
    • 查看 "Code-Review" 权限配置

如果没有 +2 权限,如何配置

如果您是管理员,可以配置权限:

  1. 访问项目权限页面

    • http://101.43.95.130:8080/#/admin/projects/zhini-im,access
  2. 添加 Code-Review +2 权限

    • 点击 "Edit" 按钮
    • "Reference" 中选择 refs/heads/*refs/for/*
    • 添加权限:
      • Label Code-Review: +2 → 分配给您的用户组(如 AdministratorsDevelopers
    • 保存更改
  3. 或者通过 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 界面

  1. 打开变更:http://101.43.95.130:8080/c/zhini-im/+/4
  2. 查看代码差异
  3. 滚动到底部,在 "Review" 区域:
    • 选择 Code-Review: +2
    • 添加评论(可选):"代码质量良好,批准合并"
    • 点击 "POST"
  4. 如果满足合并条件,点击 "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

⚠️ 注意事项

  1. 权限要求+2 通常需要管理员权限或项目所有者权限
  2. 自评限制:通常不能给自己的变更 +2除非配置了相应权限
  3. 合并条件:变更需要同时满足:
    • Code-Review: +2
    • Verified: +1如果启用了
  4. 提交者:即使获得了 +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. 使用 +1 Code-Review(如果允许)
  2. 或者配置项目允许直接推送(绕过评审)
  3. 或者联系管理员添加权限

📚 相关链接

  • 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